whiteshark
XLDnaute Nouveau
Bonjour à tous,
Je commence tout juste à me plonger dans le VBA
J'ai ce code si :
Private Sub OptionButton1_Click() ' Client 1
If OptionButton1 = True Then
Range("D16").Select
Application.CutCopyMode = False
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C16").Select
Application.CutCopyMode = False
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E16").Select
Application.CutCopyMode = False
Selection.Copy
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("F16").Select
Application.CutCopyMode = False
Selection.Copy
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
Pour faire simple lorsque je sélection un bouton d'option en début de ligne, les information du client (qui son sur cette ligne, dans cette exemple la ligne 16) sont affichées dans mon en-tête (dans l'exemple ce sont les cellules D1, D2, D3 et C6)
Cela marche très bien mais mon problème c'est que j'ai 100 clients dans ce ficher et je ne me vois mal copier cette macro 100 fois et changer mes coordonnées de cellules à la main. Les cellules d'en-tête ne change pas (D1, D2, D3 et C6 sont fixes) mais la ligne des info client si (client 1 -> ligne 16, client 2 ->17, client 3 ->18, etc).
Je pense que mon problème peut être résolu avec la commande dim mais je ne sais pas l'utiliser et je n'arrive pas à comprendre comment elle marche.
Pour l'instant une immense formule excel dans chaque case d'en-tête qui me permet de faire ça mais je voudrait passer par une macro pour faire plus simple.
J'espère que j'ai été suffisamment clair et que vous pourrez m'aider.
Je commence tout juste à me plonger dans le VBA
J'ai ce code si :
Private Sub OptionButton1_Click() ' Client 1
If OptionButton1 = True Then
Range("D16").Select
Application.CutCopyMode = False
Selection.Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C16").Select
Application.CutCopyMode = False
Selection.Copy
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E16").Select
Application.CutCopyMode = False
Selection.Copy
Range("D3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("F16").Select
Application.CutCopyMode = False
Selection.Copy
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
End Sub
Pour faire simple lorsque je sélection un bouton d'option en début de ligne, les information du client (qui son sur cette ligne, dans cette exemple la ligne 16) sont affichées dans mon en-tête (dans l'exemple ce sont les cellules D1, D2, D3 et C6)
Cela marche très bien mais mon problème c'est que j'ai 100 clients dans ce ficher et je ne me vois mal copier cette macro 100 fois et changer mes coordonnées de cellules à la main. Les cellules d'en-tête ne change pas (D1, D2, D3 et C6 sont fixes) mais la ligne des info client si (client 1 -> ligne 16, client 2 ->17, client 3 ->18, etc).
Je pense que mon problème peut être résolu avec la commande dim mais je ne sais pas l'utiliser et je n'arrive pas à comprendre comment elle marche.
Pour l'instant une immense formule excel dans chaque case d'en-tête qui me permet de faire ça mais je voudrait passer par une macro pour faire plus simple.
J'espère que j'ai été suffisamment clair et que vous pourrez m'aider.