Forums XLPages

Tous les messages (Mth)

« 1 ... 7 8 9 10 11 12 13 ... 36 »
Re: Copier la valeur d'un textbox dans la colonne concernée par la date inscrite dans un autre texbox
#91
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 20-12-2012 00h24
Bonsoir Eric.33 et bienvenue parmi nous,

D'une façon générale ne t'impatiente pas sur un forum, la plupart des contributeurs ici travaillent dans la journée, puis le soir il faut faire la soupe, les devoirs, et tout ça ...

Tu trouveras ton fichier aménagé en PJ, avec une approche différente. En effet la façon dont tu structures tes données ne me semble pas optimale, loin de là, pour permettre une analyse aisée (évolutions comparatifs etc...), et je suppose que les analyses de ces chiffres font également partie de ton objectif.

Je te propose donc de les présenter autrement, comme une vraie base de données avec un champ pour les dates, un champ pour le chiffre d'affaires etc., tous les enregistrements les uns à la suite des autres seront bien plus facile à exploiter.
L'information date suffit, il n'est pas nécessaire à mon sens d'ajouter l'année, j'ai également trouvé intéressant d'indiquer le taux de TVA, les taux évoluent avec le temps et cela permet de reconstituer le HT à partir du TTC avec exactitude quel que soit le taux en vigueur de l'année N.

Tu auras sûrement d'autres propositions, on peut bien sûr écrire mieux que ça et ajouter des contrôles, mais vois déjà si cette approche peut t'intéresser.

Très bonne soirée,

mth




Pièce jointe:
zip Copie de EssaiMagKSS.zip   [ Taille: 72.67 Ko - Téléchargements: 458 ]
Hors Ligne
Rapport   Haut 

Re: Changement de couleur en fonction de la date
#92
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 15-12-2012 15h08
Bonjour Nady et bienvenue parmi nous.

Tu trouveras ton fichier en PJ avec les formules suivantes pour la mise en forme conditionnelle:

Semaine précédente, en rouge, la formule  =$F7=$G$2+1, s'appliquant à la plage de cellules =$F$7:$F$40,

Deux semaines avant, en jaune, la formule =$F7=$G$2+2, s'appliquant à la même plage.

Si je puis me permettre, il me semble qu'il manque une information dans le tableau. Pour les projets longs, la semaine 1 est la semaine de l'année en cours, de l'année suivante? précédente?
A partir du moment l'on raisonne en numéro de semaine et pas en date, il me semble qu'il faudrait ajouter quelque part l'année correspondant au numéro de semaine du tableau.
Il conviendra d'ajouter ce paramètre à la formule de la mise en forme conditionnelle, qui du coup renverra une information exacte, ce qui n'est pas le cas pour l'instant avec les formules que je t'ai indiquées plus haut.
En effet une fois la semaine 52 atteinte, plus aucune couleur n'apparaîtra dans le tableau. Ce sera juste si la semaine 1 est la première semaine de 2012, mais ce sera faux si la semaine 1 représente la première semaine de 2013, et ça on ne peut le savoir qu'avec un information complémentaire.

Bon week-end et à bientôt,

mth


Pièce jointe:
xls Nady.xls   [ Taille: 23.00 Ko - Téléchargements: 1227 ]
Hors Ligne
Rapport   Haut 

Re: Quelle formule appliquer ?
#93
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 06-12-2012 23h57
Bonsoir chakir123, bonsoir Guy :), bonsoir à tous,

Comme indiqué par myDearFriend sur un de tes fils ici la meilleure solution semble l'utilisation du menu Données/Convertir avec un peu de traitement manuel derrière, ensuite il y a VBA, et enfin les formules qui sont sans doute la façon la plus lourde d'attaquer le problème!

Si néanmoins tu souhaites privilégier les formules, voici un essai en pièce jointe, j'utilise les fonctions texte (voir ici par exemple)

En B2 puis tiré vers la droite jusqu'en H2:

=SIERREUR(STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";");CHERCHE("ù";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";");";";"ù";COLONNE(A1)))+1;CHERCHE("ù";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";");";";"ù";COLONNE(B1)))-CHERCHE("ù";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";");";";"ù";COLONNE(A1)))-1)*1;0)

dernière colonne en I2:

=SIERREUR(DROITE(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";");NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";"))-CHERCHE("ù";SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE($A2;CAR(160);"µ");CAR(32);"µ");"µµµ";";");";";"ù";COLONNE(H1))))*1;0)

Comme autre source d'inspiration, tu as aussi ce fil avec l'excellente formule de Jean-Marie





Pièce jointe:
xls pourChakir123.xls   [ Taille: 30.50 Ko - Téléchargements: 767 ]
Hors Ligne
Rapport   Haut 

Re: macro bloquée par la protection de la feuille
#94
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 05-12-2012 21h44
Bonjour pitchoune, bonjour à tous,

Vois si ce fil peut t'intéresser,

Très bonne soirée,

mth
Hors Ligne
Rapport   Haut 

Re: CONVERTIR DATE 01.01.2009 EN 01/01/2009
#95
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 28-11-2012 21h27
Bonsoir rothjero,

Essaie avec une formule de ce type:
=SUBSTITUE(A1;".";"/")*1

Pour en savoir plus sur SUBSITUE() tu peux voir dans l'aide Excel ou ici. Cette formule permet ici de remplacer le caractère . par le caractère /, le résultat renvoyé par la fonction SUBSTITUE() est une chaîne de caractères (soit ici 01/01/2009) au format texte.
La multiplication par 1 sert à transformer le résultat obtenu en donnée numérique.

Tu obtiendras sans doute un chiffre dans ta cellule (en l'occurence ici 39814, il suffit de choisir le format de cellule date du type jj/mm/aaaa pour afficher le résultat comme tu le souhaites soit une vraie date sous la forme 01/01/2009.

Très bonne soirée,

mth
Hors Ligne
Rapport   Haut 

Re: Alerte excel en fonction de la date du jour
#96
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 27-11-2012 22h16
Bonsoir aldorante, bonsoir le forum,

Un essai avec ces formules dans la mise en forme conditionnelle:

Condition 1 en vert:
=ET($D3<>"";$D3>=AUJOURDHUI()+5)

Condition 2 en orange (sans blanc entre 3 et 5 jours):
=ET($D3<>"";$D3()+5;$D3>AUJOURDHUI())

Condition 3 en rouge:
=ET($D3<>"";$D3<=AUJOURDHUI())

Fichier en pièce jointe, voyez si cela convient.
Très bonne soirée et à bientôt,

mth
Pièce jointe:
xlsx Reporting tool JSD vierge.xlsx   [ Taille: 14.37 Ko - Téléchargements: 1559 ]
Hors Ligne
Rapport   Haut 

Re: Alerte excel en fonction de la date du jour
#97
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 27-11-2012 11h16
Bonjour aldorante et bienvenue parmi nous, Il est toujours plus facile de travailler à partir d'un cas concret, donc un petit fichier est effectivement bienvenu, juste quelques lignes suffisent, et cela permet de voir ce qui ne fonctionne pas (peut-être une mauvaise interprétation de la mise en forme conditionnelle que nous pouvons alors décortiquer ensemble) Il faudrait également préciser les conditions, "assez éloigné" et "quand on approche" n'est pas transposable en formule, ce qui l'est c'est un nombre de jours par exemple. Vert pour 60 jours ou 15 jours avant ? Orange pour 8 jours avant ? A très bientôt, mth
Hors Ligne
Rapport   Haut 

Re: Excel: aide pour optimiser tableau (macro ou filtre?)
#98
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 24-11-2012 21h17
Bonsoir belair, bonsoir Chris

En attendant l'avis de Chris peut-être une piste avec des formules,

Par exemple pour avoir la liste des fils sans doublons, formule en D2 et copiée vers le bas:
=(INDEX($A:$A;MIN(SI(NB.SI(D$1:D1;$A$2:$A$20)=0;LIGNE($A$2:$A$20))))&"")
(formule matricielle à valider avec les trois touches CTRL MAJ ENTER)

En E2 et tirée ves le bas, les points de départ de chaque fil:
=SIERREUR(DECALER(B$1;EQUIV(D2;$A:$A;0)-1;);"")

Enfin en F2 et tirée vers le bas les points d'arrivée:
=SIERREUR(DECALER($C$1;MAX(SI($A$1:$A$20=D2;LIGNE($A$1:$A$20)))-1;0)&"";"")
(formule matricielle également)

Très bonne soirée,

mth


Pièce jointe:
xlsx Belair.xlsx   [ Taille: 10.05 Ko - Téléchargements: 392 ]
Hors Ligne
Rapport   Haut 

Re: Formule pour faire un cumul annuel mobile dans un TCD
#99
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 24-11-2012 14h59
Bonjour Eric, bonjour le forum,

Grâce à tes nouvelles explications j'ai avancé un peu sur une piste légèrement différente, car je pense que mes premières indications ne conviendraient pas pour les TCD (il manquerait la ligne d'en-tête).
Tu trouveras mon essai dans le fichier joint en espérant que cela pourra t'être utile.

Dans ce fichier l'onglet "Base" contient les données structurées comme ce que tu as décrit, et des onglets TCD sans grand intérêt pour l'instant mais qui sont juste présents pour l'exemple de rafraichissement automatique que j'ai inscrit dans le code.

J'utilise un filtre élaboré pour extraire de la base les 12 derniers mois. Le résultat de ce filtre élaboré sert de plage de données source à l'un des TCD, onglet "TCD Glissant".
Cette plage est dynamique et tu la trouveras dans le fichier sous le nom "ZoneTCD"
(Onglet "Formules", "Gestionnaire de noms", ZoneTCD fait référence à la plage calculée par cette formule:
=DECALER(Base!$J$1;;;NBVAL(Base!$J:$J);6)

J'ai mis tous les commentaires dans le code que voici: 
Option Explicit
Sub Macro1()
'Déclaration des variables:
Dim vDerlig As Long, vPlage As Range, c As Range

'Désactive le rafraichissement de l'écran
'Pour tester en pas à pas et voir le résultat à l'écran il faut
'désactiver cette ligne:
Application.ScreenUpdating = False
'Travail sur l'onglet BAse
With Sheets("Base")
   
    'vDerlig = dernière ligne remplie colonne A (soit la colonne numéro 1)
    'Rows.count indique le nombre de lignes de la feuille (soit 1048576 à partir d'Excel 2007)
    '.end(xlUp) permet de remonter de la dernière ligne de la feuille à la dernière ligne remplie de la colonne
    '.Row permet d'indiquer le numéro de cette ligne
   
    vDerlig = .Cells(Rows.Count, 1).End(xlUp).Row
    ' Décrit la variable vPlage qui couvre la zone de travail, des colonnes
    ' A à F, de la ligne 1 à la dernière ligne remplie
    Set vPlage = .Range("A1:F" & vDerlig)
    'Remplit la cellule F1 avec le libellé "Date"
    .Range("F1") = "Date"
    'Pour chaque cellule de la colonne F, de la ligne 2 à la dernière ligne de travail
    For Each c In .Range("F2:F" & vDerlig)
        'calucle une date à partir des informations colonnes A et B
        'Dateserial équivaut à la fonction DATE() dans notre Excel français
        'Elle s'écrit DATE(Année;Mois;Jour) est renvoie une date
        'Ici année est indiquée en colonne 1, soit sur la même ligne mais 5 colonnes avant
        'd'où l'expression c.offset(0,-5)
        'Même raisonnement pour le mois, et le jour est renseigné à 1
        'Pour calculer la fin du mois correspondant à cette date, la fonction EoMonth() équivaut
        'à FIN.MOIS() dans la feuille Excel francisée.
        c = WorksheetFunction.EoMonth(DateSerial(c.Offset(0, -5), c.Offset(0, -4), 1), 0)
    Next c
   
'*-*-*-*-*-*-*-*
'  Préparation du filtre élaboré:
'*-*-*-*-*-*-*-*

    'Inscription du libellé "Date" dans les cellules H1 et I1
    .Range("H1") = "Date"
    .Range("I1") = "Date"
    'Préparation des critères de iltre en H2 et I2
    'En H2 Excel écrit ="<="&MAX(F:F), ce qui indique la date la plus récente
    'En I2 on inscrit =">="&FIN.MOIS(MAX(F:F);-12), ce qui permet d'avoir la date 12 mois avant
    'Le filtre va donc pouvoir extraire les lignes dont les dates sont comprises entre ces deux bornes
    'soit les 12 derniers mois glissants
    .Range("H2").FormulaR1C1 = "=""<=""&MAX(C[-2])"
    .Range("I2").FormulaR1C1 = "="">=""&EOMONTH(MAX(C[-3]),-12)"
   
    'Lancement du filtre: la plage de cellules vPlage est filtrée, selon les critères définis
    ' en cellules H1:I2, l'extrait de la base d'origne est copié en J1
    vPlage.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range _
        ("H1:I2"), CopyToRange:=.Range("J1:O1"), Unique:=False
    'Permet de rafraichir les TCD: la zone nommée "ZoneTCD" dans le fichier
    'est la source des TCD, cette "ZoneTCD" correspond au filtre qui vient d'être éxécuté ci-dessus
    ActiveWorkbook.RefreshAll
    'Efface les données des colonnes F à O pour ne pas garder de données inutiles
    .Columns("H:O").ClearContents
   
End With

'Rétablit le rafraichissement écran
Application.ScreenUpdating = True
End Sub
 

Pour le TCD de l'onglet "TCD Annuel" la zone source est la zone nommée "Base" (dynamique également).

En espérant que cela pourra t'aider,

Bon week end,

mth
Pièce jointe:
zip Eric.zip   [ Taille: 71.07 Ko - Téléchargements: 592 ]
Hors Ligne
Rapport   Haut 

Re: regrouper plusieurs feuilles de plusieurs fichiers dans un même classeur
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 23-11-2012 22h29
Bonsoir Fmailys,

Je t'ai envoyé un MP, à te lire très vite ...

mth
Hors Ligne
Rapport   Haut 

« 1 ... 7 8 9 10 11 12 13 ... 36 »