[VBA] [RESOLU] Sélection plage de cellule

hunter76

XLDnaute Nouveau
Bonjour à tous.

Voila j'ai un petit souci de réalisation.

Quand je clique sur le bouton (semaine 1), la macro s'effectue très bien. voila la macro :

Sub SelectionP()
' Selection de la plage cellule
Application.ScreenUpdating = False
Sheets("basse de données").Select
Range("D2:D" & Sheets("basse de données").Range("F7").Value).Select
Selection.Copy
Sheets("OT").Select
Range("A1").Select
ActiveSheet.Paste Link:=True
Range("B1").Select
Sheets("basse de données").Select
Sheets("accueil").Select
Application.ScreenUpdating = True
End Sub


mais j'aimerai que lorsque que j'appuie sur le bouton (semaine 2) il effectue la même macro, mais décaler.

Exemple: si j'appuie sur (semaine 1) la macro sélectionne une plage de 10 cellules allant de (A1:A10) j'aimerai que lorsque j'appuie sur (semaine 2) la macro sélection la plage de cellule (A11:A21).

Mais comme vous avez pu le voir, le nombre de cellules a sélectionné est issu d'un calcul, et la je sèche complètement.

J’espère avoir était clair, merci d'avance pour vos réponses.

Cordialement.
 
Dernière édition:

Eric 45

XLDnaute Occasionnel
Re : [VBA] Sélection plage de cellule

Bonsoir

Je ne sais pas si j'ai tout compris. Ci-dessous une idée :
Code:
Sub copi_00()Application.ScreenUpdating = False
Dim num_bouton
Dim sh As Shape

' récupère le nom du bouton : Button xx
Set sh = ActiveSheet.Shapes(Application.Caller)
MsgBox sh.Name
num_bouton = Mid(sh.Name, 8)

' donne le numéro du bouton : xx
MsgBox num_bouton

' avec ce numéro, il suffit de modifier "D2" et "D x" exemple : "D" & 10*num_bouton ":D" & 10*num_bouton+9 => module de  10?, 13?, X dans  : Range("D2:D" & Sheets("basse de données").Range("F7")

' ces 2 lignes remplacent ton code
Sheets("basse de données").Range("D2:D" & Sheets("basse de données").Range("F7").Value).Copy Sheets("ordre travail").Range("A1")
Sheets("basse de données").Range("F22").FormulaR1C1 = ""


End Sub

Dis nous
Eric
 

hunter76

XLDnaute Nouveau
Re : [VBA] Sélection plage de cellule

Bonjour Eric, merci d'avoir répondu
j'ai trouvé la solution a mon problème, je la donne si sa peut aider quelqu'un

Sub SelectionPffr()
' Selection de la plage cellule
Application.ScreenUpdating = False
Sheets("basse de données").Select
Dim i As Integer
i = Range("F10")
Range("D" & i & ":D" & Sheets("basse de données").Range("F9").Value).Select
Selection.Copy
Sheets("ordre travail").Select
Range("A1").Select
ActiveSheet.Paste Link:=True
Range("B1").Select
Sheets("basse de données").Select
Sheets("accueil").Select
Application.ScreenUpdating = True
End Sub

cordialement.
 

Discussions similaires