Bonjour à tous,
J'ai dans une feuille nommée "RC30 (1)" dans la colonne A :
- un certain nombre de cases égale à 1 (de A2 à Ai) avec l'indice i
- ensuite un certain nombre de cases égale à 2 (de Ai+1 à Aj) avec l'indice j
- ensuite un certain nombre de cases égale à 3 (de Aj+1 à Ak) avec l'indice k
Par exemple :
A2=1
A3=1
A4=1
A5=1
A6=2
A7=2
A8=2
A9=2
A10=2
A11=3
A12=3
On a donc ici : i=5, j=10, k=12.
Et j'aimerai pouvoir créer une macro pour enregistrer les adresses des cellules A2, Ai, Ai+1, An, An+1 et Am sachant que je ne connais pas les indices i, n et m.
J'aimerai les entrer dans des variables que j'utiliserai plus tard :
adress11=A2
adress12=Ai
adress21=Ai+1
adress22=An
adress31=An+1
adress32=Am
avec :
nb_lignes_1= nombre de lignes de cases égales à 1 (=i-1)
nb_lignes_2= nombre de lignes de cases égales à 2 (=j-i)
nb_lignes_3= nombre de lignes de cases égales à 3 (=k-j)
Comme ça, je pourrai par exemple dans une nouvelle feuille "RC30" copier le nombre de cellules égales à 1 (puis 2 puis 3) et le multiplier par 2. Je m'explique :
Par exemple dans la nouvelle feuille "RC30" on aura :
A2=1
A3=1
A4=1
A5=1
A6=1
A7=1
A8=1
A9=1
A10=2
A11=2
A12=2
A13=2
A14=2
A15=2
A16=2
A17=2
A18=2
A19=2
A20=3
A21=3
A22=3
A23=3
J'ai pensé à écrire ce programme pour l'instant pour la suite.
Du coup j'ai vraiment besoin d'aide pour le départ et pour la suite que j'ai écrit un avis serait bien sympa!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'Pour la valeur 1 : 'Dans la feuille "RC30 (1)": Worksheets("RC30 (1)").Range("adress11:adress12").Select 'sélection des bornes des cases égales à 1 Selection.Copy 'Dans la feuille "RC30" : Worksheets("RC30").Cells(2,1).Select 'selection de la case A2 ActiveSheet.Paste 'coller les chiffres 1 une première fois Worksheets("RC30").Cells(2,1).Offset(nb_lignes_1,1).Select 'se décaler de nb_lignes_1 lignes ActiveSheet.Paste 'coller les chiffres 1 une seconde fois 'Pour la valeur 2 : 'Dans la feuille "RC30 (1)": Worksheets("RC30 (1)").Range("adress21:adress22").Select 'sélection des bornes des cases égales à 2 Selection.Copy 'Dans la feuille "RC30" : Worksheets("RC30").Cells(2,1).Select 'selection de la case A2 ActiveSheet.Paste 'coller les chiffres 2 une première fois Worksheets("RC30").Cells(2,1).Offset(2*nb_lignes_1,1).Select ActiveSheet.Paste 'coller les chiffres 2 une seconde fois![]()
Merci beaucoup d'avance!!!^^
Partager