Macro avec une variable

fabancel

XLDnaute Junior
Bonjour.

J'ai créé une macro qui copie certaines cellules de la feuille1 vers un tableau synthétique en feuille 2. quand je clique sur un bouton.

Seulement, La feuille 1 n'a pas le même nombre de lignes si elle concerne une société ou un groupe.
Si c'est une société, je vais copier la cellule B8, mais si c'est un groupe je copierai la cellule B11.

la macro que j'ai faite fonctionne avec if then. Mais du coup elle est assez lourde.

Sheets("export ARC").Activate
If Range("P4").Value Like "*societe*" Then

Sheets("export ARC").Activate
Range("AM21").Copy
Sheets("Synthèse").Activate
Range("D6").PasteSpecial Paste:=xlPasteValues

Sheets("export ARC").Activate
Range("AU21").Copy
Sheets("Synthèse").Activate
Range("B8").PasteSpecial Paste:=xlPasteValues
End If

Sheets("export ARC").Activate

If Range("P4").Value Like "*groupe*" Then
Sheets("export ARC").Activate
Range("AM17").Copy
Sheets("Synthèse").Activate
Range("D6").PasteSpecial Paste:=xlPasteValues

Sheets("export ARC").Activate
Range("AU17").Copy
Sheets("Synthèse").Activate
Range("B8").PasteSpecial Paste:=xlPasteValues
End If

Pouvez-vous m'expliquer comment je peux intégrer une variable dans mon code qui, en fonction du critère "groupe" ou "société", change de valeur ce qui donnerai

Sheets("export ARC").Activate
Range("AM17+i").Copy
Sheets("Synthèse").Activate
Range("D6").PasteSpecial Paste:=xlPasteValues

Merci beaucoup, encore une fois, pour votre aide précieuse.
 

Dranreb

XLDnaute Barbatruc
Re : Macro avec une variable

Bonjour.
Comme ça peut être:
VB:
Dim L As Long
Sheets("export ARC").Activate
If Range("P4").Value Like "*societe*" Then
   L = 21
ElseIf Range("P4").Value Like "*groupe*" Then
   L = 17
   End If
If L > 0 Then
   With Worksheets("Synthèse")
      .[D6].Value = Cells(L, "AM").Value
      .[B8].Value = Cells(L, "AU").Value
      End With
   End If
À tester
À +
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 793
Messages
2 092 156
Membres
105 241
dernier inscrit
Mixlsm