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.
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.