Copier/Coller un ensemble de cellule automatiquement

tutur09 Messages postés 25 Statut Membre -  
tutur09 Messages postés 25 Statut Membre -
Bonjour,

Je cherche à copier/coller automatiquement un ensemble de cellules en fonction d'un critère.

Par exemple, si en A1 j'ai 2 (ou 4), alors il faudra copier/coller l'ensemble des cellules (A2 à E22) 2 (ou 4) fois à la suite. Je ne sais pas si ma question est très claire..

Est-ce possible de réaliser cette action sans Macro ou bien n'y a t-il aucun autre moyen ?

Merci d'avance,

Cordialement,
A voir également:

2 réponses

Gyrus Messages postés 3360 Statut Membre 526
 
Bonjour,

Tout dépend de ce que tu entends par "2 fois à la suite".
Est-ce que le résultat est A2:J22 ou A2:E43 ?

A+
0
tutur09 Messages postés 25 Statut Membre
 
J'ai un diagramme de GANTT dans les cellules A2:E22, j'aimerais en fonction d'une valeur que je vais rentrer dans la cellule A1 (par exemple 2 ou 4), créer 1 (ou 3) nouveau diagramme de GANTT identique des cellules A24:E44 (ainsi que A46:E66 et A68:E88 dans l'autre cas).
0
Gyrus Messages postés 3360 Statut Membre 526 > tutur09 Messages postés 25 Statut Membre
 
Voici un code à placer dans le module de la feuille concernée.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" And Target.Value <> "" Then
Cancel = True
For i = 1 To Target.Value
Range("A2:E22").Copy Range("A2").Offset(i * 22)
Next i
End If
End Sub

La procédure se lance lors d'un double clic sur la cellule A1.

A+
0
tutur09 Messages postés 25 Statut Membre
 
Bonjour,

Merci pour votre réponse,

J'ai quelques difficultés à placer le code dans le module de la feuille. On me demande de créer une Macro lorsque je veux exécuter ce code. Mes connaissances en VBA sont très réduites. Comment dois-je faire pour lacer cette procédure ?

Merci
0
Gyrus Messages postés 3360 Statut Membre 526 > tutur09 Messages postés 25 Statut Membre
 
Le code étant placé dans le module de la feuille (pour le contrôler, clic droit sur l'onglet > Visualiser le code), la procédure sera automatiquement lancée lorsque tu feras un double clic sur la cellule A1.

A+
0
tutur09 Messages postés 25 Statut Membre
 
Merci beaucoup pour votre aide, j'ai réussi à lancer la procédure !

Une dernière question, imaginons que je veuille lancer cette même procédure mais en utilisant un bouton à côté de la case et non pas un double click sur la case. Auriez-vous une idée ?

Merci d'avance,
0
Gyrus Messages postés 3360 Statut Membre 526
 
Bonjour,

Avec un bouton de commande ActiveX :
Private Sub CommandButton1_Click()
If Range("A1").Value <> "" Then
For i = 1 To Range("A1").Value
Range("A2:E22").Copy Range("A2").Offset(i * 22)
Next i
End If
End Sub

A+
0
tutur09 Messages postés 25 Statut Membre
 
Bonsoir,

Merci pour votre réponse !

J'ai en effet utilisé votre code et cela fonctionne bien. J'ai de plus réalisé un autre code afin d'ajouter à l'aide d'un autre bouton une nouvelle copie :

Private Sub CommandButton2_Click()
If Range("B1").Value <> "" Then
For j = 1 To Range("A2").Value
Rang("A2:E22").Copy Range("A2").Offset(Range("A1").Value*20).Offset(j*22)
Next j
End If
End Sub

J'aimerais pouvoir ajouter une copie à la suite des copies déjà effectuées à chaque fois que je clique sur mon second bouton. En utilisant un NbClick par exemple afin d'incrémenter un compteur à chaque ajout de copie pour que les nouvelles copies viennent toujours à la suite. Cela est-il possible ? Je ne sais pas si j'ai été très clair...

Merci d'avance,

Cordialement,
0