Bonsoir,
Donc voici, ce sont vraiment mes premiers pas et je fais des tests.
Je sais que ce que je vais vous montrer n'est sans doute pas opti ou réfléchi de la bonne façon mais un pas après l'autre :-)
je sèche un peu pour le moment.
objectif de ma macro :
Au stade où j'en suis, il s'agit d'entrer une date dans une box et d'inscrire cette date à la dernière ligne libre de la colone C, de se décaler sur la droite et de copier le contenu de la valeur de B3 de la feuille active.
Ensuite feuille suivante et on recommence.
Sauf que ça fonctionne tant que ma boucle n'a qu'un seul indice "for i = 4 to 4" par ex si j'essaye avec 4 to 6 ben il coince ici : (voir flèche à droite de la ligne)
J'ai essayé de supprimer la boucle mais même résultat donc j'imagine que c'est un problème de réinitialisation de la variable Dlig.
Mince en vous écrivant, je pense avoir trouvé le problème, en effet une fois que Dlig s'est initialisé sur la feuille 4 j'imagine que ça pose problème d'espérer que ça marche pour la feuille 5 même si c'est la même plage ?
Bon et si je vois juste comment réinitialiser la variable ?
les premières lignes de commentaire c'est pour mon usage afin de suivre mon raisonnement. il pourrait vous aider à me suivre aussi
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Sub Répartition() 'Activation du bouton dans la fenêtre "Acceuil" 'Fenêtre pour entrer la date valeur 'Activation de la première sheets à modifier 'Se placer sur la première cellule occupée en partant du bas -1 de la colonne C 'insérer la date valeur 'se déplacer d'une cellule vers la droite et insérer la valeur de la cellule B3 'Activation de la sheets suivante Dim DLig As Range Dim MaDate As Variant Application.ScreenUpdating = False Set DLig = Range("c" & Rows.Count).End(xlUp) MaDate = "Date" While Not IsDate(MaDate) MaDate = InputBox("Entrez une date", "Date", MaDate) Wend For i = 4 To 6 Sheets(4).Activate DLig.Offset(1, 0).Select <---- ça coince là au second passage et ça n'a rien inscrit dans la première non plus. ActiveCell.Value = MaDate ActiveCell.Offset(0, 1).Select ActiveCell.Value = Range("B3").Value Next i End Sub
Partager