K
ker92
Guest
Bonjour à tous!
J'ai créé une macro qui cherche une valeur dans un tableau et qui la réccupère pour la mettre dans un autre tableau.
Ici j'ai différentes compagnies (exxon, total, shell...) et leur parts de marché dans 48 pays. Ma macro cherche en premier le nom "chevron" dans un classeur et copie la valeur correspondante dans un autre classeur et ainsi de suite pour chaques compagnies pétrolières.
Le problème est que je ne peut utiliser cette macro que pour un seul pays, ensuite il faut que j'augmente l'Offset:
maCellule.Offset(1, 0) = c.Offset(0, 1).Value puis maCellule.Offset(2, 0) = c.Offset(0, 1).Value et maCellule.Offset(3, 0) = c.Offset(0, 1).Value.......etc
Donc voici ma question, est il possible d'incrémenter l'offset en réalisant une seconde boucle dans ma macro? Et aussi de dire à la macro qu il faut changer d'onglet?
Voici ma macro:
Sub partsdemarché()
Worksheets("Feuil2").Activate
Dim maCellule As Range 'noms de compagnies pétrolieres à rechercher
Application.Workbooks.Open chemin 'ouvre le fichier contenant les liasses bu'
name = ActiveWorkbook.name
For Each maCellule In Sheets("Feuil2").Range("D2:I2")
Set c = Sheets("Pays 1").Columns(2).Find(maCellule.Offset(0, 0).Value, _
LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
maCellule.Offset(1, 0) = c.Offset(0, 1).Value
End If
Next
End Sub
Voila, j'éspère avoir été compréhensible,
merci d'avance!
J'ai créé une macro qui cherche une valeur dans un tableau et qui la réccupère pour la mettre dans un autre tableau.
Ici j'ai différentes compagnies (exxon, total, shell...) et leur parts de marché dans 48 pays. Ma macro cherche en premier le nom "chevron" dans un classeur et copie la valeur correspondante dans un autre classeur et ainsi de suite pour chaques compagnies pétrolières.
Le problème est que je ne peut utiliser cette macro que pour un seul pays, ensuite il faut que j'augmente l'Offset:
maCellule.Offset(1, 0) = c.Offset(0, 1).Value puis maCellule.Offset(2, 0) = c.Offset(0, 1).Value et maCellule.Offset(3, 0) = c.Offset(0, 1).Value.......etc
Donc voici ma question, est il possible d'incrémenter l'offset en réalisant une seconde boucle dans ma macro? Et aussi de dire à la macro qu il faut changer d'onglet?
Voici ma macro:
Sub partsdemarché()
Worksheets("Feuil2").Activate
Dim maCellule As Range 'noms de compagnies pétrolieres à rechercher
Application.Workbooks.Open chemin 'ouvre le fichier contenant les liasses bu'
name = ActiveWorkbook.name
For Each maCellule In Sheets("Feuil2").Range("D2:I2")
Set c = Sheets("Pays 1").Columns(2).Find(maCellule.Offset(0, 0).Value, _
LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
maCellule.Offset(1, 0) = c.Offset(0, 1).Value
End If
Next
End Sub
Voila, j'éspère avoir été compréhensible,
merci d'avance!