CISCO
XLDnaute Barbatruc
Bonsoir à tous
Pour résoudre un pb sur un autre fil, j'essaye de faire une macro (Arrêtez de rire, SVP !!!).
Pour cela, il me faut transférer des données placées dans diverses feuilles vers un tableau. Dans un premier temps, je l'ai fait avec une boucle sur les feuilles en question, avec le code
dans laquelle Feuil est un nombre entier.
Malheureusement, dans le vrai fichier, les feuilles s'appellent Nov, Déc, Janvier, Février... Oct et ne sont pas placées dans l'ordre (Nov correspond à Feuil20, Déc à Feuil21, Janvier à Feuil22, Février à Feuil23, Mars à Feuil24, Avril à Feuil25, Mai à Feuil13, Juin à Feuil12, Juillet à Feuil19, Août à Feuil14...).
J'ai fait un essai avec le code (dans lequel Feuil représente le nom de la feuille en cours)
Cela fonctionne, mais je pense qu'il y a certainement plus efficace, plus concis... De plus, si quelqu'un change un peu le nom d'un des onglets en question, par exemple Sept en Septembre, cela ne fonctionne plus (puisque le premier nom, Sept, est écrit en dur dans le code). Est-ce que vous avez une proposition plus fine, plus polyvalente ?
D'avance merci.
@ plus
Pour résoudre un pb sur un autre fil, j'essaye de faire une macro (Arrêtez de rire, SVP !!!).
Pour cela, il me faut transférer des données placées dans diverses feuilles vers un tableau. Dans un premier temps, je l'ai fait avec une boucle sur les feuilles en question, avec le code
Code:
For Feuil = 1 To ActiveWorkbook.Sheets.Count
Worksheets(Worksheets(Feuil).Name).Activate
....
Malheureusement, dans le vrai fichier, les feuilles s'appellent Nov, Déc, Janvier, Février... Oct et ne sont pas placées dans l'ordre (Nov correspond à Feuil20, Déc à Feuil21, Janvier à Feuil22, Février à Feuil23, Mars à Feuil24, Avril à Feuil25, Mai à Feuil13, Juin à Feuil12, Juillet à Feuil19, Août à Feuil14...).
J'ai fait un essai avec le code (dans lequel Feuil représente le nom de la feuille en cours)
Code:
Feuil = "Nov"
Feuilcomp = 1
...
While Feuil <> "X"
Worksheets(Feuil).Activate
...
diverses actions permettant de remplir le tableau
Feuilcomp = Feuilcomp + 1
If Feuil = "Sept" Then Feuil = "X"
If Feuil = "Août" Then Feuil = "Sept"
If Feuil = "Juillet" Then Feuil = "Août"
If Feuil = "Juin" Then Feuil = "Juillet"
If Feuil = "Mai" Then Feuil = "Juin"
If Feuil = "Avril" Then Feuil = "Mai"
If Feuil = "Mars" Then Feuil = "Avril"
If Feuil = "Février" Then Feuil = "Mars"
If Feuil = "Janvier" Then Feuil = "Février"
If Feuil = "Déc" Then Feuil = "Janvier"
If Feuil = "Nov" Then Feuil = "Déc"
Wend
....
Cela fonctionne, mais je pense qu'il y a certainement plus efficace, plus concis... De plus, si quelqu'un change un peu le nom d'un des onglets en question, par exemple Sept en Septembre, cela ne fonctionne plus (puisque le premier nom, Sept, est écrit en dur dans le code). Est-ce que vous avez une proposition plus fine, plus polyvalente ?
D'avance merci.
@ plus
Dernière édition: