Macro - Partir de n'importe qu'elle cellule du tableau

Résolu
Amandine278 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
Amandine278 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Ci-dessous ma macro :

Sub COL2014()
'
' COL2014 Macro
'

'
Range("I2:I49").Select
Selection.Copy
Range("H2").Select
ActiveSheet.Paste
Range("I2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "2014"
Range("I3:I51").Select
Selection.ClearContents
Range("I3:I51").Select
Range("I4").Activate
ActiveWindow.SmallScroll Down:=-39
Range("I2").Select
End Sub

Je suis partie de la cellule I2 afin d'appliquer cette macro à n'importe quelle colonne de ce même tableau Excel.

C'est à dire toutes les 4 collones, concretement une fois la macro OK je dois l'exécuter 50 fois sur ce même tableau.

Comment je dois faire pour expliquer cela à ma macro ?

Je ne sais pas si je suis claire mais Merci quand même..

Amandine

2 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    A tester (bien que je ne vois pas l'utilité de la "chose" :D)
    Sub COL2014()
    Dim i As Integer, Col1 As Integer, Col2 As Integer
    Range("I2:I49").Copy
    For i = 1 To 50
    Col1 = 9 + (i - 1) * 4
    Col2 = Col1 - 1
    Range(Cells(2, Col1), Cells(49, Col1)).Copy
    ActiveSheet.Paste Destination:=Cells(2, Col2)
    Cells(2, Col1).FormulaR1C1 = "2014"
    Range(Cells(3, Col1), Cells(51, Col1)).ClearContents
    Next i
    Application.CutCopyMode = False
    End Sub

    A+
    0
    1. Amandine278 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,
      Ca fonctionne bien.

      Pour débuter cette marco je voudrais dire : supprimer toutes les collones comencant par 2009 ou alors supprimer 1 colonne sur 4 à partir de c (inclu).

      Par contre, sur ma macro de base j'étais partie de i, je souhaitais partir de e, j'ai donc remplacé les i par des e et ça ne prends plus en compte le changement de la colonne e..

      Sub Macro1()

      Dim e As Integer, Col1 As Integer, Col2 As Integer
      Range("e2:e51").Copy
      For e = 1 To 51
      Col1 = 9 + (e - 1) * 4
      Col2 = Col1 - 1
      Range(Cells(2, Col1), Cells(51, Col1)).Copy
      ActiveSheet.Paste Destination:=Cells(2, Col2)
      Cells(2, Col1).FormulaR1C1 = "2014"
      Range(Cells(3, Col1), Cells(51, Col1)).ClearContents
      Next e
      Application.CutCopyMode = False
      End Sub


      PS: l'utilité de la chose, j'ai plusieurs tableaux identiques et je perds beaucoup de temps chaque début d'année pour refaire la "mise en page" (suppressions de colonnes, ajouts de colonnes, formules de calculs etc)
      0
    2. Gyrus Messages postés 3360 Statut Membre 526
       
      Bonjour,

      Dans la boucle
      For i = 1 To 50
      ...
      Next i
      La lettre i n'a aucun rapport avec la colonne I.
      Il s'agit d'une variable qui est utilisée pour l'incrémentation de la boucle.
      L'indication de la colonne à prendre ne compte est donné par
      Col1 = 9 + (i - 1) * 4
      Lorsque i=1, alors Col1=9, la colonne 9 étant la colonne I.

      Si tu veux démarrer par la colonne E, il suffit d'indiquer
      Col1 = 5 + (i - 1) * 4, la colonne 5 étant la colonne E.

      A+
      0
    3. Amandine278 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
       
      MERCI BEAUCOUP, c'est parfait :-)
      0
    4. Amandine278 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
       
      J'ai une toute dernière question, peut-être que vous allez pouvoir m'aider..

      Quand j'applique ma maccro, elle s'arrete à la colonne GW alors qu'elle devrait s'arreter à la HA, pourquoi ? (GW étant la 205ème colonne)
      0
  2. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour Amandine278

    Le fichier avec la macro de Gyrus et ajout de mise à jour sur les formules

    https://www.cjoint.com/?3KhpSA5tv1Q

    Il y avait des choses que je ne savais pas faire, mais Gyrus les a traitées donc aves ses infos et les miennes voici le résultat

    Une première chose à faire sur les fichiers éviter les cellules fusionnées à la place sélectionner les cellules et utiliser centrer sur plusieurs colonnes cela revient au même en présentation sans le soucis des cellules fusionnées (qui sont gênantes pour la suppressions de colonnes puis l'ajout.
    0
    1. Amandine278 Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
       
      Je vous remercie beaucoup messieurs Philou10120 et Gyrus..

      C'est parfait !
      0