RechercheV attribuer une variable à une feuille

  • Initiateur de la discussion Initiateur de la discussion DavidH79
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DavidH79

XLDnaute Nouveau
Bonjour,

Je sais que mon titre ne parait pas précis ou correcte mais je ne savais pas comment le formuler. Mon problème est simple mais compliqué pour moi. Je fais un fichier VBA avec 95 pages, la page 1 est composé de 2500 lignes que j'ai réparti par intitulé dans les 94 autres pages.

Je voulais que toutes données dans les pages 2 à 95, je la retrouve automatiquement dans la page 1. Pour cela j'ai d'abord copier tous les noms de toutes les feuilles comme ceci :

Range("T1").Select
ActiveCell.Value = "Liste des onglets"
For I = 1 To Worksheets.Count
[T1].Offset(I, 0).Value = Worksheets(I).Name
Next I



Puis après j'ai renommer toutes les feuilles par un chiffre :


Dim aa As Integer

aa = Sheets.Count

For a = 1 To aa
Sheets(a).Name = a
Next a



mon problème se situe ici je voulais que ma macro fasse une rechercheV avec la feuille "2" puis "3" puis "4" sans que j'ai besoin de recopier tout le code mais ça pèche ici (endroit en gras et souligné) :

Dim b As Integer

aa = Sheets.Count
I = 2
For b = 2 To aa
Sheets(b).Name = b

Do While Cells(I, 2) = Cells(I + 1, 2).Value
If Cells(I, 2).Value = Cells(I + 1, 2).Value Then
Cells(I, 10).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-8],'2'!C[-9]:C[3],9,FALSE)"
I = I + 1
Else

End If
Loop

If Cells(I, 2).Value = Cells(I - 1, 2).Value Then
Cells(I, 10).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-8],'2'!C[-9]:C[3],9,FALSE)"
I = I + 1
End If

Next b

j'aurai aimé lors de ma rechercheV qu'il cherche donc la page 'b' soit la page 2 puis lors de la prochaine boucle il cherche dans la page "b+1" soit la page 3 mais je ne sais pas par quoi je dois remplacé le '2'.

En gros j'aimerai que la ligne se transforme comme ça :

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-8],'b'!C[-9]:C[3],9,FALSE)"


Je suis assez amateur en VBA donc mon code n'est pas forcément très propre je dois l'avouer.

Merci de votre aide.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
408
Réponses
8
Affichages
193
Réponses
10
Affichages
185
Réponses
2
Affichages
253
Réponses
7
Affichages
215
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
354
Retour