Multi selection de cellule avec variable

jerjou Messages postés 6 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 14 mars 2007 - 25 oct. 2006 à 19:02
jerjou Messages postés 6 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 14 mars 2007 - 27 oct. 2006 à 17:21
Bonjour à tous,

Je suis novice, Help:
Une question, peut-être simple mais à laquelle je n'ai trouvé de solution sur le net.
Peut-on regrouper les lignes suivantes en une seule commande, c'est à dire selectionner toutes ces plages en une seule fois et coller en une seule fois?

Range(Cells(a, 40), Cells(a, 44)).Select: Selection.PasteSpecial: _
Range(Cells(a, 52), Cells(a, 56)).Select: Selection.PasteSpecial: _
Range(Cells(a, 64), Cells(a, 68)).Select: Selection.PasteSpecial: _
Range(Cells(a, 76), Cells(a, 80)).Select: Selection.PasteSpecial: _
Range(Cells(a, 88), Cells(a, 92)).Select: Selection.PasteSpecial: _

Merci d'avance pour votre aide.

4 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 oct. 2006 à 23:38
Ta question et ton code ne sont pas très clairs... mais selon ce que j'en comprend,


    Range("A1:A4").Select  ' sélection de 4 cellules collées

    Selection.Copy

   

'Sélection de plusieurs groupes de 4 cellules collées

    Range("C1:C4,C7:C10,C13:C16,C19:C22").Select

   

    Selection.PasteSpecial

MPi
0
jerjou Messages postés 6 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 14 mars 2007
26 oct. 2006 à 09:22
Bonjour et merci pour ta réponse, mais c'est une selection de cellule avec variable que je souhaite faire. et pour simplifier le code je veux savoir si les lignes soulignés peuvent être regroupées? voici le code complet.
merci d'avance.
For a = 172 To 221
For b = 4 To 34
If Cells(a, 28).Text = Cells(b, 249).Text Then _
Range(Cells(a, 28), Cells(a, 32)).Select: Selection.Copy: _
Range(Cells(a, 58), Cells(a, 62)).Select: Selection.PasteSpecial: _
Range(Cells(a, 70), Cells(a, 74)).Select: Selection.PasteSpecial: _
Range(Cells(a, 82), Cells(a, 86)).Select: Selection.PasteSpecial: _
Range(Cells(a, 94), Cells(a, 98)).Select: Selection.PasteSpecial: _
Range(Cells(a, 34), Cells(a, 38)).Select: Selection.PasteSpecial: _
Range(Cells(a, 46), Cells(a, 48)).Select: Selection.PasteSpecial: Application.CutCopyMode = False
  
  Next
  Next
End Sub
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 oct. 2006 à 09:29
Salut,
Que l'on soit d'accord,
Ce que tu as actuellement fonctionne? n'est ce pas ?
Ce que tu cherches à fair c'est "juste" de la simplification d'écriture.

Note: Je pense que la derniere ligne devrait être Range(Cells(a, 46), Cells(a, 50))

 @+,   Ju£i?n
0
jerjou Messages postés 6 Date d'inscription mercredi 25 octobre 2006 Statut Membre Dernière intervention 14 mars 2007
27 oct. 2006 à 17:21
Salut,

Oui c'est ça. Mon code fonctionne, je cherche juste à le simplifier car je dois le répéter plusieurs fois selon d'autres vairiables.
Ta correction pour la dernière ligne est bonne, merci.
Merci
@+
0
Rejoignez-nous