Dates avec Excel
Résolu/Fermé
A voir également:
- Dates avec Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
29 réponses
Bonjour,
C'est normal, tu ne peux pas trier avec des lignes fusionnées ! Il n'y a pas d'autre solution que de repenser le tableau sans cellules fusionnées.
Cordialement,
Migou
C'est normal, tu ne peux pas trier avec des lignes fusionnées ! Il n'y a pas d'autre solution que de repenser le tableau sans cellules fusionnées.
Cordialement,
Migou
Utilisateur anonyme
25 mars 2010 à 15:14
25 mars 2010 à 15:14
Salut et merci de m'aider Migou ^^
comme tu peux le voir, quand je récupère les données de la feuille 1, les données apparaissent bien, seulement avec quelques problèmes. mais je peux trier car dans la feuille 2 il n'y a pas de cellules fusionnées.
pour reprendre l'exemple donné, avec les cellules fusionnées, Excel voit en A1 le nom "Dupond" et rien en A2 et A3.
j'ai réussi avec une fonction "si" à éliminer le "0" de A2. mais s'il y a plus de 2 personnes avec le même nom, il me reste des "0", comme ici en A3.
il faudrait une fonction qui récupère le contenu de la première cellule non vide située au-dessus de la cellule.
si(rien en A2, alors : inscrire ce qu'il y a en A1). c'est ce que j'ai fait.
seulement je ne vais pas mettre 10 "si" imbriqués! il n'y aurait pas une fonction qui réalise cela? je pense que ça doit exister!?
et pour ce qui est du tri des dates en fonction du jour et du mois au lieu de l'année, tu sais ce qu'il faut faire?
merci encore
comme tu peux le voir, quand je récupère les données de la feuille 1, les données apparaissent bien, seulement avec quelques problèmes. mais je peux trier car dans la feuille 2 il n'y a pas de cellules fusionnées.
pour reprendre l'exemple donné, avec les cellules fusionnées, Excel voit en A1 le nom "Dupond" et rien en A2 et A3.
j'ai réussi avec une fonction "si" à éliminer le "0" de A2. mais s'il y a plus de 2 personnes avec le même nom, il me reste des "0", comme ici en A3.
il faudrait une fonction qui récupère le contenu de la première cellule non vide située au-dessus de la cellule.
si(rien en A2, alors : inscrire ce qu'il y a en A1). c'est ce que j'ai fait.
seulement je ne vais pas mettre 10 "si" imbriqués! il n'y aurait pas une fonction qui réalise cela? je pense que ça doit exister!?
et pour ce qui est du tri des dates en fonction du jour et du mois au lieu de l'année, tu sais ce qu'il faut faire?
merci encore
hubertaaz
Messages postés
8194
Date d'inscription
vendredi 12 mai 2006
Statut
Contributeur sécurité
Dernière intervention
22 janvier 2014
1 599
25 mars 2010 à 15:29
25 mars 2010 à 15:29
Bonjour tibouuh,
Est-ce que tu essayes de te confectionner un agenda pour les anniversaires?
Si c'est le cas, j'ai ce qu'il te faut sur une seule feuille avec un tri exécuté par makro.
Cordialement
Est-ce que tu essayes de te confectionner un agenda pour les anniversaires?
Si c'est le cas, j'ai ce qu'il te faut sur une seule feuille avec un tri exécuté par makro.
Cordialement
ouais c'est un peu ce que j'essaie de faire!
ne connaissant pas les macros, j'ai essayé de le faire via le tableur. je me doutais bien qu'avec les macros c'est possible.
je me suis acheté un bouquin sur Excel (Excel 2007 & VBA pour les Nuls!!!) pour apprendre justement, mais j'en suis pas encore aux macros.
si tu peux me dire comment faire et si c'est pas trop compliqué?!
merci hubertaaz
ne connaissant pas les macros, j'ai essayé de le faire via le tableur. je me doutais bien qu'avec les macros c'est possible.
je me suis acheté un bouquin sur Excel (Excel 2007 & VBA pour les Nuls!!!) pour apprendre justement, mais j'en suis pas encore aux macros.
si tu peux me dire comment faire et si c'est pas trop compliqué?!
merci hubertaaz
hubertaaz
Messages postés
8194
Date d'inscription
vendredi 12 mai 2006
Statut
Contributeur sécurité
Dernière intervention
22 janvier 2014
1 599
25 mars 2010 à 15:47
25 mars 2010 à 15:47
En fait je n'y connais pas grand chose en makro mais j'ai péché un fichier excel fait par un intervenant régulier sur CCM dont le nom m'échappe pour l'instant.
Je le trouve super pour gérer les anniversaires de la famille. Si ça t'intéresse, voici un lien pour le télécharger : http://www.cijoint.fr/cjlink.php?file=cj201003/cij5RPd6x2.xls
Je suis à ta disposition si tu souhaites des explications complémentaires.
@+
Je le trouve super pour gérer les anniversaires de la famille. Si ça t'intéresse, voici un lien pour le télécharger : http://www.cijoint.fr/cjlink.php?file=cj201003/cij5RPd6x2.xls
Je suis à ta disposition si tu souhaites des explications complémentaires.
@+
je savais pas comment activer la macro, mais j'ai trouvé en autorisant le certificat.
en revanche, je n'ai pas accès aux codes VBA. ça me demande un mot de passe?! c'est un mot de passe qui vient du fichier Excel ou qui vient de moi?
j'ai testé le tableau et ça a l'air de marché.
j'aimerais bien quand même pouvoir visualiser le code et essayer de faire des modifs, si jamais j'y arrive...!
en revanche, je n'ai pas accès aux codes VBA. ça me demande un mot de passe?! c'est un mot de passe qui vient du fichier Excel ou qui vient de moi?
j'ai testé le tableau et ça a l'air de marché.
j'aimerais bien quand même pouvoir visualiser le code et essayer de faire des modifs, si jamais j'y arrive...!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Raymond PENTIER
Messages postés
58763
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
18 décembre 2024
17 255
26 mars 2010 à 02:11
26 mars 2010 à 02:11
Bonjour.
On ne peut et on ne doit pas fabriquer un tableau à sa fantaisie, et seulement ensuite se demander comment faire pour l'exploiter.
C'est dès la conception de la base de données, puisque c'en est une, qu'il faut savoir l'usage qu'on va en faire et donc prévoir la structure nécessaire.
Première chose, appliquer le conseil de Migou, et recopier Dupont en A2 et A3.
Deuxième chose, mettre le mois en colonne C avec la formule =MOIS(C1)
et le jour en colonne D avec la formule =JOUR(C1).
Troisième chose, faire un tri personnalisé avec Colonne A en niveau 1, Colonne D en niveau 2 et Colonne E en niveau 3.
https://www.cjoint.com/?dAcfChASBn
On ne peut et on ne doit pas fabriquer un tableau à sa fantaisie, et seulement ensuite se demander comment faire pour l'exploiter.
C'est dès la conception de la base de données, puisque c'en est une, qu'il faut savoir l'usage qu'on va en faire et donc prévoir la structure nécessaire.
Première chose, appliquer le conseil de Migou, et recopier Dupont en A2 et A3.
Deuxième chose, mettre le mois en colonne C avec la formule =MOIS(C1)
et le jour en colonne D avec la formule =JOUR(C1).
Troisième chose, faire un tri personnalisé avec Colonne A en niveau 1, Colonne D en niveau 2 et Colonne E en niveau 3.
https://www.cjoint.com/?dAcfChASBn
hubertaaz
Messages postés
8194
Date d'inscription
vendredi 12 mai 2006
Statut
Contributeur sécurité
Dernière intervention
22 janvier 2014
1 599
26 mars 2010 à 09:28
26 mars 2010 à 09:28
Bonjour Raymond,
"On ne peut et on ne doit pas fabriquer un tableau à sa fantaisie, et seulement ensuite se demander comment faire pour l'exploiter. "
Ce tableau n'a pas été créé mais était "préfabriqué" et s'adapte particulièrement pour gérer les anniversaires comme mentionné ici : https://forums.commentcamarche.net/forum/affich-17135055-dates-avec-excel#3
Si ce n'est pas le résultat recherché alors il faut bien entendu le construire de toutes pièces.
Pour tibouuh, je te laisse poursuivre avec Raymond qui est nettement plus compétent que moi en la matière.
@+
"On ne peut et on ne doit pas fabriquer un tableau à sa fantaisie, et seulement ensuite se demander comment faire pour l'exploiter. "
Ce tableau n'a pas été créé mais était "préfabriqué" et s'adapte particulièrement pour gérer les anniversaires comme mentionné ici : https://forums.commentcamarche.net/forum/affich-17135055-dates-avec-excel#3
Si ce n'est pas le résultat recherché alors il faut bien entendu le construire de toutes pièces.
Pour tibouuh, je te laisse poursuivre avec Raymond qui est nettement plus compétent que moi en la matière.
@+
Utilisateur anonyme
>
hubertaaz
Messages postés
8194
Date d'inscription
vendredi 12 mai 2006
Statut
Contributeur sécurité
Dernière intervention
22 janvier 2014
26 mars 2010 à 11:45
26 mars 2010 à 11:45
Pour tibouuh, je te laisse poursuivre avec Raymond qui est nettement plus compétent que moi en la matière.
OK, pas de problème.
merci pour ton aide ;-)
OK, pas de problème.
merci pour ton aide ;-)
Salut Raymond et merci de venir apporter ta pierre à l'édifice.
On ne peut et on ne doit pas fabriquer un tableau à sa fantaisie, et seulement ensuite se demander comment faire pour l'exploiter.
oui je sais...!
mais pour ma défense (lol ^^), je connais Excel (je croyais déjà pas mal le connaître d'ailleurs) mais j'ai encore énormément de choses à apprendre. c'est pour cela que j'essaie de faire évoluer ce tableau.
à la base, c'était un simple tableau avec les coordonnées des personnes et trié par ordre alphabétique. donc aucun problème.
je l'ai ensuite étoffé avec les dates d'anniversaire, pour ne pas les oublier!
d'où maintenant mon idée de faire un classement par date qui serait bien plus simple pour ne pas passer à côté d'un anniversaire.
après qu'il y ait des macros ou pas, peu m'importe. il faudra juste m'expliquer comment faire. ^^
j'aime bien le tableau fourni par hubertaaz (https://forums.commentcamarche.net/forum/affich-17135055-dates-avec-excel#5) avec des colonnes que je trouve très utiles (les colonnes D, F et H) et le code couleur.
pour la présentation, je préfère le mien. mais rien ne m'empêchera de garder une feuille avec mon tableau pour les données et d'avoir sur une autre le tableau de tri des anniversaires avec les infos supplémentaires des colonnes intéressantes et le code couleur.
merci pour ton aide Raymond, je suis tout ouï!
On ne peut et on ne doit pas fabriquer un tableau à sa fantaisie, et seulement ensuite se demander comment faire pour l'exploiter.
oui je sais...!
mais pour ma défense (lol ^^), je connais Excel (je croyais déjà pas mal le connaître d'ailleurs) mais j'ai encore énormément de choses à apprendre. c'est pour cela que j'essaie de faire évoluer ce tableau.
à la base, c'était un simple tableau avec les coordonnées des personnes et trié par ordre alphabétique. donc aucun problème.
je l'ai ensuite étoffé avec les dates d'anniversaire, pour ne pas les oublier!
d'où maintenant mon idée de faire un classement par date qui serait bien plus simple pour ne pas passer à côté d'un anniversaire.
après qu'il y ait des macros ou pas, peu m'importe. il faudra juste m'expliquer comment faire. ^^
j'aime bien le tableau fourni par hubertaaz (https://forums.commentcamarche.net/forum/affich-17135055-dates-avec-excel#5) avec des colonnes que je trouve très utiles (les colonnes D, F et H) et le code couleur.
pour la présentation, je préfère le mien. mais rien ne m'empêchera de garder une feuille avec mon tableau pour les données et d'avoir sur une autre le tableau de tri des anniversaires avec les infos supplémentaires des colonnes intéressantes et le code couleur.
merci pour ton aide Raymond, je suis tout ouï!
Utilisateur anonyme
30 mars 2010 à 18:43
30 mars 2010 à 18:43
Salut,
j'ai plusieurs questions concernant le tableau fourni par hubertaaz (https://forums.commentcamarche.net/forum/affich-17135055-dates-avec-excel#5)
comment on fait pour retirer définitivement la protection de la feuille?
parce qu'à chaque fois je dois taper le mot de passe pour faire des modifs.
j'ai essayé de faire des modifs. certaines sans problème, et d'autres ben après ça marche plus.
notamment lorsque je supprime la colonne E, dans laquelle il n'y a aucune info!
comment savoir ce qui est utilisé et donc utile, pour le code VBA je suppose?
merci de votre aide.
j'ai plusieurs questions concernant le tableau fourni par hubertaaz (https://forums.commentcamarche.net/forum/affich-17135055-dates-avec-excel#5)
comment on fait pour retirer définitivement la protection de la feuille?
parce qu'à chaque fois je dois taper le mot de passe pour faire des modifs.
j'ai essayé de faire des modifs. certaines sans problème, et d'autres ben après ça marche plus.
notamment lorsque je supprime la colonne E, dans laquelle il n'y a aucune info!
comment savoir ce qui est utilisé et donc utile, pour le code VBA je suppose?
merci de votre aide.
Utilisateur anonyme
30 mars 2010 à 20:24
30 mars 2010 à 20:24
bon je progresse tout seul...! petit à petit on devient moins petit! lol
j'ai trouvé le code :
Private Sub Workbook_Open()
'Filtre dans un ordre croissant les dates d'Anniversaire
Worksheets(1).Unprotect Password:="OPEN"
If Range("D3") = "" Then
Worksheets(1).Protect Password:="OPEN"
Exit Sub
Else
Range("H36").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop
Range("A2", ActiveCell).Select
Selection.AutoFilter
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A2").Select
Selection.AutoFilter
Worksheets(1).Protect Password:="OPEN"
End If
End Sub
quelqu'un saurait me l'expliquer?
merci encore pour votre aide
j'ai trouvé le code :
Private Sub Workbook_Open()
'Filtre dans un ordre croissant les dates d'Anniversaire
Worksheets(1).Unprotect Password:="OPEN"
If Range("D3") = "" Then
Worksheets(1).Protect Password:="OPEN"
Exit Sub
Else
Range("H36").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop
Range("A2", ActiveCell).Select
Selection.AutoFilter
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A2").Select
Selection.AutoFilter
Worksheets(1).Protect Password:="OPEN"
End If
End Sub
quelqu'un saurait me l'expliquer?
merci encore pour votre aide
Raymond PENTIER
Messages postés
58763
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
18 décembre 2024
17 255
30 mars 2010 à 20:46
30 mars 2010 à 20:46
Je suis désolé, mais mon aide éventuelle se limite aux fonctions usuelles d'Excel : Je suis ignare en matière de VBA ; alors dès qu'on parle "macro", je suis contraint de me retirer ...
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
Modifié par tompols le 30/03/2010 à 21:27
Modifié par tompols le 30/03/2010 à 21:27
bonsoir tibouuh, Raymond, hubertaaz,
voici l'explication du code :
en espérant avoir été clair :)
On entend par une belle solution, la solution simple et facile d'un problème difficile et compliqué
voici l'explication du code :
Private Sub Workbook_Open() 'procédure évenementielle qui se déclenche à l'ouverture du classeur Worksheets(1).Unprotect Password:="OPEN" 'ôte la protection de la feuille If Range("D3") = "" Then 'si la cellule D3 est vide alors Worksheets(1).Protect Password:="OPEN" 'ôter la protection de la feuille Exit Sub 'sortir de la procédure (fin) Else 'sinon Range("H36").Select 'selection de la cellule H36 Do While ActiveCell.Value = "" 'tant que la cellule active n'est pas vide ActiveCell.Offset(-1, 0).Select 'remonter de une cellule Loop 'fin du tant que Range("A2", ActiveCell).Select 'selection de la zone A2:H36 Selection.AutoFilter 'activation du filtre automatique Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'tri du tableau en fonction de la colonne D (titre en D2, tri ascendant)) Range("A2").Select 'selection de la cellule Dé Selection.AutoFilter 'desactivation du filtre automatique Worksheets(1).Protect Password:="OPEN" 'protection de la feuille End If 'fin du "si" End Sub 'fin procédure
en espérant avoir été clair :)
On entend par une belle solution, la solution simple et facile d'un problème difficile et compliqué
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 110
30 mars 2010 à 21:20
30 mars 2010 à 21:20
Salut,
Je connais bien ce code pour l'avoir écrit dans un fichier Anniversaire.
chaque partie du code est expliqué après une apostrophe
Private Sub Workbook_Open()
'Déprotection du fichier avec mot de passe OPEN à l'ouverture pour permettre le filtrage
Worksheets(1).Unprotect Password:="OPEN"
'contrôle le nombre de ligne à filtrer
If Range("D3") = "" Then
's'il y a moins de deux lignes on reprotége le fichier
'et on sort de la procédure
Worksheets(1).Protect Password:="OPEN"
Exit Sub
'sinon
Else
'on recherche avec une boucle la dernière ligne non vide colonne H
'il est possible d'écrire cette partie par ce code
'Cells(16384, 8).End(xlUp).Select
'ou celui ci
'Range("H16384").End(xlUp).Select
Range("H36").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop
'a partir de la dernière ligne non vide on sélectionne jusqu'a la cellule A2
Range("A2", ActiveCell).Select
'on installe le filtre et on trie en ordre croissant la colonne D
Selection.AutoFilter
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'on sélectionne la cellule A2 pour désactiver la sélection
Range("A2").Select
'on désactive le filtre
Selection.AutoFilter
'on reprotége le fichier avec mot de passe OPEN
Worksheets(1).Protect Password:="OPEN"
End If
End Sub
Je connais bien ce code pour l'avoir écrit dans un fichier Anniversaire.
chaque partie du code est expliqué après une apostrophe
Private Sub Workbook_Open()
'Déprotection du fichier avec mot de passe OPEN à l'ouverture pour permettre le filtrage
Worksheets(1).Unprotect Password:="OPEN"
'contrôle le nombre de ligne à filtrer
If Range("D3") = "" Then
's'il y a moins de deux lignes on reprotége le fichier
'et on sort de la procédure
Worksheets(1).Protect Password:="OPEN"
Exit Sub
'sinon
Else
'on recherche avec une boucle la dernière ligne non vide colonne H
'il est possible d'écrire cette partie par ce code
'Cells(16384, 8).End(xlUp).Select
'ou celui ci
'Range("H16384").End(xlUp).Select
Range("H36").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop
'a partir de la dernière ligne non vide on sélectionne jusqu'a la cellule A2
Range("A2", ActiveCell).Select
'on installe le filtre et on trie en ordre croissant la colonne D
Selection.AutoFilter
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'on sélectionne la cellule A2 pour désactiver la sélection
Range("A2").Select
'on désactive le filtre
Selection.AutoFilter
'on reprotége le fichier avec mot de passe OPEN
Worksheets(1).Protect Password:="OPEN"
End If
End Sub
Salut Mike,
j'ai la version sans les explications, donc je comprenais pas tout ou j'interprétais mal!
je vais regarder ce code de plus près pour bien le comprendre.
j'ai déjà une question concernant la protection de la feuille.
j'ai essayé de la retirer en supprimant les lignes relatives à la protection mais j'ai eu un message d'erreur à l'ouverture suivante du fichier.
j'ai dû trop en retirer ou pas assez!
tu peux me dire ce que je dois faire pour ne pas avoir à taper le mot de passe à chaque fois pour déprotéger la feuille stp?!
je pourrais toujours la remettre par la suite de toute façon.
merci.
j'ai la version sans les explications, donc je comprenais pas tout ou j'interprétais mal!
je vais regarder ce code de plus près pour bien le comprendre.
j'ai déjà une question concernant la protection de la feuille.
j'ai essayé de la retirer en supprimant les lignes relatives à la protection mais j'ai eu un message d'erreur à l'ouverture suivante du fichier.
j'ai dû trop en retirer ou pas assez!
tu peux me dire ce que je dois faire pour ne pas avoir à taper le mot de passe à chaque fois pour déprotéger la feuille stp?!
je pourrais toujours la remettre par la suite de toute façon.
merci.
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 110
Modifié par Mike-31 le 31/03/2010 à 21:47
Modifié par Mike-31 le 31/03/2010 à 21:47
Re,
Es ce que tu travailles sur mon fichier Anniversaire
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Es ce que tu travailles sur mon fichier Anniversaire
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Salut,
Pour trier tu ne dois pas fusionner les cellules dans le haut de ta feuille le nom Dupond est inscrit 1 fois ou si tu tries par prénom car tu n'a que ça a trié ça ira.
Ce que tu as sur la feuille 2 tu as copié la feuille 1 il faut sélectionner la colonne C Format Date et tu choisi ton format jj mmmm
Ensuite pour trier données trier
si tu as des noms différents 2 lé de trie par colonne a et puis colonne B
Si tu as mis des titres a tes colonnes et que tu as sélectionné les titres n'oublies pas de dire oui a "Ma plage de donnée a une ligne de titre
J'espère avoir été clair
salut
Pour trier tu ne dois pas fusionner les cellules dans le haut de ta feuille le nom Dupond est inscrit 1 fois ou si tu tries par prénom car tu n'a que ça a trié ça ira.
Ce que tu as sur la feuille 2 tu as copié la feuille 1 il faut sélectionner la colonne C Format Date et tu choisi ton format jj mmmm
Ensuite pour trier données trier
si tu as des noms différents 2 lé de trie par colonne a et puis colonne B
Si tu as mis des titres a tes colonnes et que tu as sélectionné les titres n'oublies pas de dire oui a "Ma plage de donnée a une ligne de titre
J'espère avoir été clair
salut
Salut maya02,
J'espère avoir été clair
désolé, j'ai pas vraiment compris tout ce que tu as dit.
mais là tu parles d'un fichier Excel simple, sans macro?
en fait j'aime bien le fichier de Mike, dont je suis plutôt parti sur celui-ci maintenant. et je vais l'arranger à ma sauce.
il faut juste qu'on m'explique pour que je comprenne et que je puisse faire des modifs sans faire de bêtises! ^^
J'espère avoir été clair
désolé, j'ai pas vraiment compris tout ce que tu as dit.
mais là tu parles d'un fichier Excel simple, sans macro?
en fait j'aime bien le fichier de Mike, dont je suis plutôt parti sur celui-ci maintenant. et je vais l'arranger à ma sauce.
il faut juste qu'on m'explique pour que je comprenne et que je puisse faire des modifs sans faire de bêtises! ^^
Utilisateur anonyme
31 mars 2010 à 19:58
31 mars 2010 à 19:58
re,
j'ai avancé sur ton fichier Mike.
j'ai réussi à retirer la protection par mot de passe sur la feuille et j'ai simplifié le code (la vérif s'il y a moins de ligne n'est pas nécessaire vu que mon tableau sera toujours rempli; je garde néanmoins le code parce qu'il pourra m'être utile). et j'ai supprimé les 2 colonnes que tu avais mises, pour faire office de séparation je suppose.
voilà ce que j'ai maintenant :
Private Sub Workbook_Open()
'on recherche avec une boucle la dernière ligne non vide de la colonne F
Range("F30").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop
'à partir de la dernière ligne non vide
'on sélectionne jusqu'à la cellule A2
Range("A2", ActiveCell).Select
'on installe le filtre et on trie en ordre croissant la colonne D
Selection.AutoFilter
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'on sélectionne la cellule A2 pour désactiver la sélection
Range("A2").Select
'on désactive le filtre
Selection.AutoFilter
End Sub
la cellule H36 que tu avais choisie est purement arbitraire, je parle du numéro de ligne? je l'ai changé pour qu'Excel ait moins de calcul à faire!
je comprends le code mais pas la partie en gras. tu peux me dire ce que chaque fonction fait stp.
autre chose :
j'ai modifié aussi la formule que tu avais mise dans la colonne H.
pour rappel :
=SI(C2<>"";SI(D2-AUJOURDHUI()=0;"C'est l' Anniversaire de "&B2;"Anniversaire de "&B2&" dans "&SI(DATEDIF(AUJOURDHUI();D2;"Y")=0;" ";(DATEDIF(AUJOURDHUI();D2;"Y")&SI(DATEDIF(AUJOURDHUI();D2;"Y")>1;" ans, ";" an, ")))&SI(DATEDIF(AUJOURDHUI();D2;"M")=0;"";DATEDIF(AUJOURDHUI();D2;"M")&" mois, ")&SI(DATEDIF(AUJOURDHUI();D2;"D")=0;" ";(DATEDIF(AUJOURDHUI();D2;"MD")&SI(DATEDIF(AUJOURDHUI();D2;"D")>1;" jours ";" jour "))));"")
j'ai supprimé la partie en gras. si je ne me suis pas trompé, elle ne sert à rien parce que jamais elle n'affiche le nombre d'années. et elle n'a pas à l'afficher d'ailleurs.
dans cette formule (et dans celle de la colonne F), je ne comprends pas ce que viennent faire les "Y", "M", "D" (et "Y", "YM", "MD" pour la F)?
je comprends que ça représente l'année, le mois et le jour.
en revanche, Excel demande toujours le mot de passe avant de dévoiler le code VBA. comment faire pour ne plus l'avoir?
et aussi, je dois toujours activer la macro. ça n'est pas possible qu'elle s'active d'office. mais juste pour ce classeur.
et enfin, j'ai un petit problème dans l'ordre des anniversaires à venir. j'ai fait un test avec plusieurs anniversaires dont un est aujourd'hui, l'autre dans 6 jours et d'autres dans longtemps. et celui dans 6 jours est positionné avant celui d'aujourd'hui. j'ai peut-être trop supprimé, mais je ne vois pas ce qui peut avoir une influence là-dessus.
je crois que je n'ai rien oublié.
merci encore pour ton aide parce que j'en ai bien besoin.
j'ai avancé sur ton fichier Mike.
j'ai réussi à retirer la protection par mot de passe sur la feuille et j'ai simplifié le code (la vérif s'il y a moins de ligne n'est pas nécessaire vu que mon tableau sera toujours rempli; je garde néanmoins le code parce qu'il pourra m'être utile). et j'ai supprimé les 2 colonnes que tu avais mises, pour faire office de séparation je suppose.
voilà ce que j'ai maintenant :
Private Sub Workbook_Open()
'on recherche avec une boucle la dernière ligne non vide de la colonne F
Range("F30").Select
Do While ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop
'à partir de la dernière ligne non vide
'on sélectionne jusqu'à la cellule A2
Range("A2", ActiveCell).Select
'on installe le filtre et on trie en ordre croissant la colonne D
Selection.AutoFilter
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'on sélectionne la cellule A2 pour désactiver la sélection
Range("A2").Select
'on désactive le filtre
Selection.AutoFilter
End Sub
la cellule H36 que tu avais choisie est purement arbitraire, je parle du numéro de ligne? je l'ai changé pour qu'Excel ait moins de calcul à faire!
je comprends le code mais pas la partie en gras. tu peux me dire ce que chaque fonction fait stp.
autre chose :
j'ai modifié aussi la formule que tu avais mise dans la colonne H.
pour rappel :
=SI(C2<>"";SI(D2-AUJOURDHUI()=0;"C'est l' Anniversaire de "&B2;"Anniversaire de "&B2&" dans "&SI(DATEDIF(AUJOURDHUI();D2;"Y")=0;" ";(DATEDIF(AUJOURDHUI();D2;"Y")&SI(DATEDIF(AUJOURDHUI();D2;"Y")>1;" ans, ";" an, ")))&SI(DATEDIF(AUJOURDHUI();D2;"M")=0;"";DATEDIF(AUJOURDHUI();D2;"M")&" mois, ")&SI(DATEDIF(AUJOURDHUI();D2;"D")=0;" ";(DATEDIF(AUJOURDHUI();D2;"MD")&SI(DATEDIF(AUJOURDHUI();D2;"D")>1;" jours ";" jour "))));"")
j'ai supprimé la partie en gras. si je ne me suis pas trompé, elle ne sert à rien parce que jamais elle n'affiche le nombre d'années. et elle n'a pas à l'afficher d'ailleurs.
dans cette formule (et dans celle de la colonne F), je ne comprends pas ce que viennent faire les "Y", "M", "D" (et "Y", "YM", "MD" pour la F)?
je comprends que ça représente l'année, le mois et le jour.
en revanche, Excel demande toujours le mot de passe avant de dévoiler le code VBA. comment faire pour ne plus l'avoir?
et aussi, je dois toujours activer la macro. ça n'est pas possible qu'elle s'active d'office. mais juste pour ce classeur.
et enfin, j'ai un petit problème dans l'ordre des anniversaires à venir. j'ai fait un test avec plusieurs anniversaires dont un est aujourd'hui, l'autre dans 6 jours et d'autres dans longtemps. et celui dans 6 jours est positionné avant celui d'aujourd'hui. j'ai peut-être trop supprimé, mais je ne vois pas ce qui peut avoir une influence là-dessus.
je crois que je n'ai rien oublié.
merci encore pour ton aide parce que j'en ai bien besoin.
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 110
Modifié par Mike-31 le 1/04/2010 à 13:11
Modifié par Mike-31 le 1/04/2010 à 13:11
Re,
C'est bien mon fichier, je l'ai créé sur Excel 2000 il y a quelques année, il est possible qu'à l'époque j'ai écrit des formules avec des lignes inutiles que je contrôlerai, effectivement en H on n'a pas a rechercher les année vu que l'anniversaire sera dans l'année à venir.
Pour supprimer le mot de passe, tu ne me donnes pas ta version Excel ? il faut enregistrer sous et dans les options Excel supprimer le mot de passe
Pour "Y" représente le nombre d'année compléte, "M" les mois , "D" les jours , "YM" le nombre de mois dans l'année incompléte, "MD" le nombre de jour d'un mois incomplé
Le problème du tri dit venir du fait que tu as supprimer des colonnes et sans en tenir compte dans le code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
C'est bien mon fichier, je l'ai créé sur Excel 2000 il y a quelques année, il est possible qu'à l'époque j'ai écrit des formules avec des lignes inutiles que je contrôlerai, effectivement en H on n'a pas a rechercher les année vu que l'anniversaire sera dans l'année à venir.
Pour supprimer le mot de passe, tu ne me donnes pas ta version Excel ? il faut enregistrer sous et dans les options Excel supprimer le mot de passe
Pour "Y" représente le nombre d'année compléte, "M" les mois , "D" les jours , "YM" le nombre de mois dans l'année incompléte, "MD" le nombre de jour d'un mois incomplé
Le problème du tri dit venir du fait que tu as supprimer des colonnes et sans en tenir compte dans le code
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Utilisateur anonyme
1 avril 2010 à 11:54
1 avril 2010 à 11:54
Salut,
ouais je suis bête! j'ai oublié de le préciser. je travaille sur Excel 2007.
en fait pour supprimer le mot de passe, dans Microsoft Visual Basic, il faut aller dans le menu "Outils", puis "Propriétés de VBAProject...".
dans la fenêtre qui s'ouvre, dans l'onglet "Protection", il faut décocher la ligne "Verrouiller le projet pour l'affichage" et supprimer le mot de passe.
Pour "Y" représente le nombre d'année compléte, "M" les mois , "D" les jours , "YM" le nombre de mois dans l'année incompléte, "MD" le nombre de jour d'un mois incomplé
donc Excel comprend "Y" comme étant le nombre d'année complète?
j'ai cherché la fonction datedif() et je ne la trouve pas! Excel l'affiche en tant que fonction sans argument. c'est pour ça que je capte pas les "Y" et consorts.
je ne comprends pas ce que peut faire la nuance entre "M" et "YM", de même entre "D" et "MD"?
regarde ce que tu as mis dans la formule de la colonne H :
=SI(C2<>"";SI(D2-AUJOURDHUI()=0;"C'est l' Anniversaire de "&B2;"Anniversaire de "&B2&" dans "&SI(DATEDIF(AUJOURDHUI();D2;"M")=0;"";DATEDIF(AUJOURDHUI();D2;"M")&" mois, ")&SI(DATEDIF(AUJOURDHUI();D2;"D")=0;" ";(DATEDIF(AUJOURDHUI();D2;"MD")&SI(DATEDIF(AUJOURDHUI();D2;"D")>1;" jours ";" jour "))));"")
tu mets "Y", "M" et ensuite "MD". pourquoi ne pas avoir mis à la place "D" tout simplement?!
les parenthèses en gras ne sont pas nécessaires ils me semblent?!
merci pour tes explications.
ouais je suis bête! j'ai oublié de le préciser. je travaille sur Excel 2007.
en fait pour supprimer le mot de passe, dans Microsoft Visual Basic, il faut aller dans le menu "Outils", puis "Propriétés de VBAProject...".
dans la fenêtre qui s'ouvre, dans l'onglet "Protection", il faut décocher la ligne "Verrouiller le projet pour l'affichage" et supprimer le mot de passe.
Pour "Y" représente le nombre d'année compléte, "M" les mois , "D" les jours , "YM" le nombre de mois dans l'année incompléte, "MD" le nombre de jour d'un mois incomplé
donc Excel comprend "Y" comme étant le nombre d'année complète?
j'ai cherché la fonction datedif() et je ne la trouve pas! Excel l'affiche en tant que fonction sans argument. c'est pour ça que je capte pas les "Y" et consorts.
je ne comprends pas ce que peut faire la nuance entre "M" et "YM", de même entre "D" et "MD"?
regarde ce que tu as mis dans la formule de la colonne H :
=SI(C2<>"";SI(D2-AUJOURDHUI()=0;"C'est l' Anniversaire de "&B2;"Anniversaire de "&B2&" dans "&SI(DATEDIF(AUJOURDHUI();D2;"M")=0;"";DATEDIF(AUJOURDHUI();D2;"M")&" mois, ")&SI(DATEDIF(AUJOURDHUI();D2;"D")=0;" ";(DATEDIF(AUJOURDHUI();D2;"MD")&SI(DATEDIF(AUJOURDHUI();D2;"D")>1;" jours ";" jour "))));"")
tu mets "Y", "M" et ensuite "MD". pourquoi ne pas avoir mis à la place "D" tout simplement?!
les parenthèses en gras ne sont pas nécessaires ils me semblent?!
merci pour tes explications.
Utilisateur anonyme
1 avril 2010 à 14:20
1 avril 2010 à 14:20
re-moi,
Le problème du tri dit venir du fait que tu as supprimer des colonnes et sans en tenir compte dans le code
ben j'ai regardé dans le code. si je le comprends bien, la seule chose à changer est Range("H36").Select, que j'ai changé en Range("F30").Select. tu avais mis H à cause des 2 colonnes de séparation E et G. donc je ne vois vraiment pas d'où vient le problème.
dans la colonne D, je comprends pas non plus un calcul dans ta formule.
pour rappel :
=SI(C2<>"";SI(DATE(ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2);MOIS(C2);JOUR(C2))<AUJOURDHUI();DATE(ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2)+1;MOIS(C2);JOUR(C2));DATE(ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2);MOIS(C2);JOUR(C2)));"")
le calcul ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2)
donnera forcément et toujours l'année en cours?! donc pourquoi ce calcul? on pourrait écrire plus simplement ANNEE(AUJOURDHUI()).
il en est de même pour ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2)+1 qu'on pourrait simplifier en ANNEE(AUJOURDHUI())+1.
pour revenir à la formule de la colonne H, à la toute fin, il faut remplacer le "D" par "MD" pour ne pas avoir de bug qui pourrait indiquer 0 jours.
et aussi, en remplaçant tous les "D" par "MD", cela évite d'avoir écrit Anniversaire de tibouuh dans 6 mois, 0 jour. mais seulement Anniversaire de tibouuh dans 6 mois, .
tu peux m'expliquer aussi Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, stp Mike.
Order1:=xlAscending et Orientation:=xlTopToBottom je comprends, mais le reste non.
et pour l'activation?
je ne veux pas que toutes les macros de n'importe qui soient activées d'office, mais seulement les miennes (dans un futur plus ou moins proche...) et celle de ton fichier.
désolé de t'embêter avec toutes mes questions, mais ça me permet de mieux comprendre ton fichier, d'essayer de le simplifier au maximum et de le faire à ma sauce.
merci encore pour ton aide précieuse. ;-)
Le problème du tri dit venir du fait que tu as supprimer des colonnes et sans en tenir compte dans le code
ben j'ai regardé dans le code. si je le comprends bien, la seule chose à changer est Range("H36").Select, que j'ai changé en Range("F30").Select. tu avais mis H à cause des 2 colonnes de séparation E et G. donc je ne vois vraiment pas d'où vient le problème.
dans la colonne D, je comprends pas non plus un calcul dans ta formule.
pour rappel :
=SI(C2<>"";SI(DATE(ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2);MOIS(C2);JOUR(C2))<AUJOURDHUI();DATE(ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2)+1;MOIS(C2);JOUR(C2));DATE(ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2);MOIS(C2);JOUR(C2)));"")
le calcul ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2)
donnera forcément et toujours l'année en cours?! donc pourquoi ce calcul? on pourrait écrire plus simplement ANNEE(AUJOURDHUI()).
il en est de même pour ANNEE(C2)+ANNEE(AUJOURDHUI())-ANNEE(C2)+1 qu'on pourrait simplifier en ANNEE(AUJOURDHUI())+1.
pour revenir à la formule de la colonne H, à la toute fin, il faut remplacer le "D" par "MD" pour ne pas avoir de bug qui pourrait indiquer 0 jours.
et aussi, en remplaçant tous les "D" par "MD", cela évite d'avoir écrit Anniversaire de tibouuh dans 6 mois, 0 jour. mais seulement Anniversaire de tibouuh dans 6 mois, .
tu peux m'expliquer aussi Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, stp Mike.
Order1:=xlAscending et Orientation:=xlTopToBottom je comprends, mais le reste non.
et pour l'activation?
je ne veux pas que toutes les macros de n'importe qui soient activées d'office, mais seulement les miennes (dans un futur plus ou moins proche...) et celle de ton fichier.
désolé de t'embêter avec toutes mes questions, mais ça me permet de mieux comprendre ton fichier, d'essayer de le simplifier au maximum et de le faire à ma sauce.
merci encore pour ton aide précieuse. ;-)
Utilisateur anonyme
1 avril 2010 à 22:30
1 avril 2010 à 22:30
re,
bon j'ai progressé en trouvant une solution pour le tri par date.
en fait, j'ai changé dans le code les "A2" et le "D2" en "A1" et "D1".
je sais pas pourquoi ça marche pas avec le 2 en indice (ça me paraissait juste pourtant?!).
j'ai effectué toutes les simplifications de formules dont j'ai parlé précédemment. et tout fonctionne bien apparemment.
il ne reste donc plus que la partie activation automatique de la macro et savoir ce que Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, DataOption1:=xlSortNormal signifie.
merci encore une fois.
bon j'ai progressé en trouvant une solution pour le tri par date.
en fait, j'ai changé dans le code les "A2" et le "D2" en "A1" et "D1".
je sais pas pourquoi ça marche pas avec le 2 en indice (ça me paraissait juste pourtant?!).
j'ai effectué toutes les simplifications de formules dont j'ai parlé précédemment. et tout fonctionne bien apparemment.
il ne reste donc plus que la partie activation automatique de la macro et savoir ce que Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, DataOption1:=xlSortNormal signifie.
merci encore une fois.
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 110
3 avril 2010 à 11:37
3 avril 2010 à 11:37
Re,
Comme je te l'ai déjà dit, c'est un vieux fichier, actuellement j'ai peu de temps, mais je réactualiserais ce fichier surtout au niveau de la formule en H ou effectivement on n'a pas à totaliser les années. En fait à l'époque j'ai du prendre la formule en F et simplement changer les adresses de cellules.
Pour les mots de passe sur fichier, on n'y accède pas de la même façon suivant les versions Excel, mais tu l'as trouvé.
Pour le tri, je l'ai testé, que ce soit sur Excel 2000, 2003 ou 2007 il fonctionne parfaitement, du moins chez moi !
Testes le fichier initial et tiens-moi au courant
Comme je te l'ai déjà dit, c'est un vieux fichier, actuellement j'ai peu de temps, mais je réactualiserais ce fichier surtout au niveau de la formule en H ou effectivement on n'a pas à totaliser les années. En fait à l'époque j'ai du prendre la formule en F et simplement changer les adresses de cellules.
Pour les mots de passe sur fichier, on n'y accède pas de la même façon suivant les versions Excel, mais tu l'as trouvé.
Pour le tri, je l'ai testé, que ce soit sur Excel 2000, 2003 ou 2007 il fonctionne parfaitement, du moins chez moi !
Testes le fichier initial et tiens-moi au courant
Utilisateur anonyme
3 avril 2010 à 20:26
3 avril 2010 à 20:26
Salut Mike,
le fonctionnement du fichier est bon maintenant.
comme je l'ai mis j'ai juste dû faire des modifs
j'ai changé dans le code les "A2" et le "D2" en "A1" et "D1"
j'ai testé avec ta version et ça marche sans faire de modifs. j'ai dû faire un changement de trop qui n'a pas plu à Excel et qui le dérangeait pour faire le tri correctement. lequel je n'en sais rien! mais ça marche comme ça. donc c'est OK.
pour l'activation auto, j'ai cherché et les gens dans des discussions disaient d'autoriser toutes les macros. mais ça j'ai pas trop envie de le faire! donc je crois que je vais devoir l'autoriser à chaque fois, tant pis! si je trouve une solution dans l'avenir, je viendrais la poster ici.
et pour les explications de l'autofilter, laisse tomber. je comprendrai ça plus tard. je chercherai. comme ça je progresserai encore mieux sur Excel. ^^
sans ton fichier j'y serais jamais arrivé tout seul.
mille fois merci pour tout Mike.
ciao ;-)
le fonctionnement du fichier est bon maintenant.
comme je l'ai mis j'ai juste dû faire des modifs
j'ai changé dans le code les "A2" et le "D2" en "A1" et "D1"
j'ai testé avec ta version et ça marche sans faire de modifs. j'ai dû faire un changement de trop qui n'a pas plu à Excel et qui le dérangeait pour faire le tri correctement. lequel je n'en sais rien! mais ça marche comme ça. donc c'est OK.
pour l'activation auto, j'ai cherché et les gens dans des discussions disaient d'autoriser toutes les macros. mais ça j'ai pas trop envie de le faire! donc je crois que je vais devoir l'autoriser à chaque fois, tant pis! si je trouve une solution dans l'avenir, je viendrais la poster ici.
et pour les explications de l'autofilter, laisse tomber. je comprendrai ça plus tard. je chercherai. comme ça je progresserai encore mieux sur Excel. ^^
sans ton fichier j'y serais jamais arrivé tout seul.
mille fois merci pour tout Mike.
ciao ;-)
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 110
3 avril 2010 à 21:16
3 avril 2010 à 21:16
Re,
j'ai changé dans le code les "A2" et le "D2" en "A1" et "D1"
Oui dans mon code le tri commence sur la ligne 2 pour ne pas toucher aux entêtes de colonne
Pour l'activation automatique des macros tu trouveras sur ce lien la procédure que j'ai rédigée dans les astuces du forum qui va te permettre de signer numériquement tes macros et donc ces macros et uniquement ces macros s'activeront automatiquement, si tu as un soucis fais signe
https://www.commentcamarche.net/faq/21009-excel-signature-numerique
Sans voir ton fichier il est difficile de voir ce qui cloche dans l'autofilter, je te conseille de te servir de l'assistant macro et de refaire cette partie du code.
Note bien point par point toute la manip
Mettre en surbrillance le tableau
Données/Filtrer/Filtre automatique etc ...
Filtre la colonne D2 en sélectionnant l'ordre croissant (colonne de mon fichier)
Refais Données/Filtrer/Filtre automatique etc ...pour désactiver l'autofilter et compares les codes que tu trouveras dans la Thisborkbook
La persévérance même à tout, souvent le résultat est le fruit de l'obstination
j'ai changé dans le code les "A2" et le "D2" en "A1" et "D1"
Oui dans mon code le tri commence sur la ligne 2 pour ne pas toucher aux entêtes de colonne
Pour l'activation automatique des macros tu trouveras sur ce lien la procédure que j'ai rédigée dans les astuces du forum qui va te permettre de signer numériquement tes macros et donc ces macros et uniquement ces macros s'activeront automatiquement, si tu as un soucis fais signe
https://www.commentcamarche.net/faq/21009-excel-signature-numerique
Sans voir ton fichier il est difficile de voir ce qui cloche dans l'autofilter, je te conseille de te servir de l'assistant macro et de refaire cette partie du code.
Note bien point par point toute la manip
Mettre en surbrillance le tableau
Données/Filtrer/Filtre automatique etc ...
Filtre la colonne D2 en sélectionnant l'ordre croissant (colonne de mon fichier)
Refais Données/Filtrer/Filtre automatique etc ...pour désactiver l'autofilter et compares les codes que tu trouveras dans la Thisborkbook
La persévérance même à tout, souvent le résultat est le fruit de l'obstination