• Initiateur de la discussion Initiateur de la discussion mcj1997
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mcj1997

XLDnaute Accro
Bonjour,

Je rencontre un problème dans la macro suivante, en effet l'action ne porte que sur la feuille lundi avec qu'il faudrait qu'elle porte sur toutes les feuilles.

Merci d'avance,



Sub copie()

Sheets(Array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi")).Select
Sheets("lundi").Activate
Dim dest As Range 'déclare la variable dest (DESTination)
Dim tv(5) 'déclare le tableau de variable tv (Tableau de Variables)

tv(0) = Range("B6").Value 'définit la variable tv(0)
tv(1) = Range("C6").Value 'définit la variable tv(1)
tv(2) = Range("D6").Value 'définit la variable tv(2)
tv(3) = Range("E6").Value 'définit la variable tv(3)
tv(4) = Range("F6").Value 'définit la variable tv(4)
tv(5) = Range("G6").Value 'définit la variable tv(5)

If Range("A6").Value = "" Then 'condition : si A1 est vide
Set dest = Range("A6") 'définit la variable dest (A1)
Else 'sinon
Set dest = Range("A27").End(xlUp).Offset(1, 0) 'définit la variable dest (la première ligne rencontrée)
End If 'fon de la condition


dest.Value = Date - 1 'place la date dans la colonne A

'place les données dans la colonne B
For x = 0 To 5 'boucle sur les 6 valeurs
dest.Offset(0, x + 1) = tv(x) 'place la valeur
Next x 'prochaine valeur

Range("A1").Select 'sélectionne la cellule A1 (enlève le focus du bouton)

End Sub
 
Re : Prob action macro

Bonjour,

peut-être comme ceci

Code:
Sub copie()
jour = Array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi")
For i = 0 To 5
Sheets(jour(i)).Select
Dim dest As Range 'déclare la variable dest (DESTination)
Dim tv(5) 'déclare le tableau de variable tv (Tableau de Variables)
tv(0) = Range("B6").Value 'définit la variable tv(0)
tv(1) = Range("C6").Value 'définit la variable tv(1)
tv(2) = Range("D6").Value 'définit la variable tv(2)
tv(3) = Range("E6").Value 'définit la variable tv(3)
tv(4) = Range("F6").Value 'définit la variable tv(4)
tv(5) = Range("G6").Value 'définit la variable tv(5)
If Range("A6").Value = "" Then 'condition : si A1 est vide
Set dest = Range("A6") 'définit la variable dest (A1)
Else 'sinon
Set dest = Range("A27").End(xlUp).Offset(1, 0) 'définit la variable dest (la première ligne rencontrée)
End If 'fon de la condition

dest.Value = Date - 1 'place la date dans la colonne A
'place les données dans la colonne B
For x = 0 To 5 'boucle sur les 6 valeurs
dest.Offset(0, x + 1) = tv(x) 'place la valeur
Next x 'prochaine valeur
Range("A1").Select 'sélectionne la cellule A1 (enlève le focus du bouton)
Next
End Sub

😱
 
Re : Prob action macro

bonjour

a la place de :
Code:
sub copie()

sheets(array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi")).select
sheets("lundi").activate

je verrai plutot

Code:
nomdesfeuilles = array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi")

for compteur = 0 to 5
    sheets(nomdesfeuilles(compteur)).activate

evidement en oubliant pas le next à la fin de la macro

merci a tous les deux
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
608
Réponses
11
Affichages
154
Réponses
7
Affichages
192
Réponses
2
Affichages
426
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
274
Réponses
2
Affichages
65
Retour