Colonne = nom de feuille

big_cham

XLDnaute Nouveau
Bonjour,

Je vais essayer d'être aussi clair que possible.;)

Je possède un classeur Excel, avec une vingtaine de feuilles. Ce nombre croit toutes les semaines puisque j'y importe des chiffres. Chaque ligne est caractérisée pour une variable texte.

Je souhaiterai, pour chaque ligne,faire un bilan. J'ai commencé par faire pour chaque ligne une fonction rechercheV dans laquelle j'indique manuellement le nom de la feuille dans lequel je fais la recherche. Or, cette manipulation s'avère pénible puisque très répétitive. La solution semble être d'utiliser les macros.

Y'a t'il une bonne âme qui peut m'aider à m'en sortir avec une macro ?

Ci joint un extrait de mon classeur.

Merci !
 

Pièces jointes

  • Aide_macro.xls
    24 KB · Affichages: 60
  • Aide_macro.xls
    24 KB · Affichages: 58
  • Aide_macro.xls
    24 KB · Affichages: 54
Dernière édition:

big_cham

XLDnaute Nouveau
Re : Colonne = nom de feuille

Je l'ai lancé et effectivement elle fonctionne (sauf que je n'ai toujours pas compris ;))

Sinon, j'ai oublié de le préciser, mais sur l'ensemble des feuilles certaines ne sont pas à utiliser. Trois caractères les différencient (010107 - xxx ou 010107 - yyy). Peut on inclure ce critère ?

L'autre point serait d'inclure une recherche car les lignes ne sont pas toujours dans le même ordre, d'une feuille à l'autre. Ainsi la ligne A peut se retrouver en 5 eme ligne sur la feuille suivante et ainsi de suite.
La macros me retourne toutes les valeurs cherchées sauf que je ne peux pas vérifier si la ligne sur laquelle elle se trouve est la bonne.

Pour compliquer le tout, certaines lignes disparaissent en cours de semaines... ce qui fait qu'il y a un décalage possible.
 

alj50

XLDnaute Nouveau
Re : Colonne = nom de feuille

Re bonjour,

Ci-dessous macro commentée.

J'espère avoir répondu à ta question.

@+.

Sub Actualisation()
Dim i As Integer, j As Integer
Dim shEvol As Worksheet
Dim DerniereLigne As Integer

Set shEvol = Sheets("Evol")

' On récupère le N° de la dernière ligne

DerniereLigne = shEvol.Range("A2").End(xlDown).Row

' On fait une boucle pour balayer tous les onglets
' sauf la feuille "Evol"

For i = 1 To Sheets.Count - 1

With shEvol.Range("A1")

' On copie le nom de chaque onglet sur l'onglet "Evol"
' en "B1" puis "C1", etc...

.Offset(0, i) = "'" & Sheets(i).Name

' On copie les valeurs de la colonne 2 de chaque onglet
' sur la feuille "Evol" dans les colonnes 2 puis 3, etc...
' jusqu'à la dernière ligne

For j = 1 To DerniereLigne
.Offset(j, i) = Sheets(i).Range("A1").Offset(j - 1, 1)
Next j
End With
Next i

End Sub
 

alj50

XLDnaute Nouveau
Re : Colonne = nom de feuille

Bonsoir,

Je te joins une nouvelle version qui répondra mieux à ta question.

Salutations.
 

Pièces jointes

  • Aide_macro.zip
    15.4 KB · Affichages: 33
  • Aide_macro.zip
    15.4 KB · Affichages: 31
  • Aide_macro.zip
    15.4 KB · Affichages: 28

big_cham

XLDnaute Nouveau
Re : Colonne = nom de feuille

effectivement, je vois que le nom de la feuille a été pris en compte. D'ailleurs, le résultat est concluant.
Sauf que le contenu de mon tableau, après avoir exécuté la macro est vide. Lors de l'exécution, je vois des choses arrivées mais elles disparaissent une fois la macro terminée.

As tu une idée ?
 

alj50

XLDnaute Nouveau
Re : Colonne = nom de feuille

big_cham à dit:
effectivement, je vois que le nom de la feuille a été pris en compte. D'ailleurs, le résultat est concluant.
Sauf que le contenu de mon tableau, après avoir exécuté la macro est vide. Lors de l'exécution, je vois des choses arrivées mais elles disparaissent une fois la macro terminée.

As tu une idée ?


Bonjour,

De quel tableau parles-tu ? Je ne comprends pas.

Salutations
 

big_cham

XLDnaute Nouveau
Re : Colonne = nom de feuille

entre temps j'ai trouvé un truc qui a résolu mon problème :

Dans le set ListeJour j'ai précisé les lignes concernées par le tableau final

Set ListeJour = Sheets(i).Range(Range("B3"), Range("B30").End(xlDown))

En modifiant ces valeurs, mon tableau s'est rempli.
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 013
Membres
104 004
dernier inscrit
mista