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

Résolu/Fermé
Amandine278 Messages postés 16 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 4 juillet 2014 - 6 nov. 2013 à 16:53
Amandine278 Messages postés 16 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 4 juillet 2014 - 7 nov. 2013 à 16:23
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

A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
6 nov. 2013 à 22:22
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
Amandine278 Messages postés 16 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 4 juillet 2014
Modifié par Amandine278 le 7/11/2013 à 12:11
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
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
7 nov. 2013 à 13:28
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
Amandine278 Messages postés 16 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 4 juillet 2014
7 nov. 2013 à 13:41
MERCI BEAUCOUP, c'est parfait :-)
0
Amandine278 Messages postés 16 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 4 juillet 2014
7 nov. 2013 à 14:13
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
PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
7 nov. 2013 à 15:47
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
Amandine278 Messages postés 16 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 4 juillet 2014
7 nov. 2013 à 16:23
Je vous remercie beaucoup messieurs Philou10120 et Gyrus..

C'est parfait !
0