Bonjour tout le monde,
J'ai l'habitude d'utiliser la fonction Worksheets Activate pour traiter des données dans des feuilles différentes.
Cependant, je rencontre un problème avec un petit code qui me permettra de remplir une feuille 4 à l'aide du contenu des feuilles 1, 2 et 3. J'ai défini les plages pour faire les calculs avec 2 méthodes différentes, l'une marche parfaitement. Par contre l'autre avec la fonction Worksheets Activate bug totalement...
Pouvez-vous m'aider ? Je souhaiterais appliquer la méthode avec Worksheets Activate ou avec With sheets plutôt que la première.
Merci d'avance à tous celles et ceux qui se pencheront sur mon problème.
J'ai l'habitude d'utiliser la fonction Worksheets Activate pour traiter des données dans des feuilles différentes.
Cependant, je rencontre un problème avec un petit code qui me permettra de remplir une feuille 4 à l'aide du contenu des feuilles 1, 2 et 3. J'ai défini les plages pour faire les calculs avec 2 méthodes différentes, l'une marche parfaitement. Par contre l'autre avec la fonction Worksheets Activate bug totalement...
Pouvez-vous m'aider ? Je souhaiterais appliquer la méthode avec Worksheets Activate ou avec With sheets plutôt que la première.
Merci d'avance à tous celles et ceux qui se pencheront sur mon problème.
Code:
Sub calc_UC()
Dim plage As Variant
Dim plage2 As Variant
Dim plage3 As Variant
Dim plage4 As Variant
' affectation fonctionnant parfaitement
'plage = Sheets("Feuil1").Range("F6 : J20")
'plage2 = Sheets("Feuil2").Range("F6 : J20")
'plage3 = Sheets("Feuil3").Range("F6 : J20")
'plage4 = Sheets("Feuil4").Range("F6 : J20")
'affectation posant problème
Worksheets("Feuil1").Activate
plage = Range(Cells(6, 6), Cells(20, 10))
Worksheets("Feuil2").Activate
plage2 = Range(Cells(6, 6), Cells(20, 10))
Worksheets("Feuil3").Activate
plage3 = Range(Cells(6, 6), Cells(20, 10))
Worksheets("Feuil4").Activate
plage4 = Range(Cells(6, 6), Cells(20, 10))
For i = 1 To 15
For j = 1 To 5
If plage(i, j) = "102" Then
plage4(i, j) = plage2(i, j) * plage3(i, j)
Else
plage4(i, j) = 0
End If
Next j
Next i
'remplissage fonctionnant parfaitement
'Sheets("Feuil4").Range("F6 : J20") = plage4
'remplissage posant problème
Range(Cells(6, 6), Cells(20, 10)) = plage4
End Sub