Boucle pour récupérer le nom des feuilles

  • Initiateur de la discussion Initiateur de la discussion gianluca
  • 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 !

gianluca

XLDnaute Occasionnel
Hello le Forum....

Me revoilà.. avec une nouvelle sollicitation lol

j'ai écris le bout de code ci-dessous pour récupérer le nom de chaque feuille de mon classeur et pour y appliquer un traitement. Mais, boum badaboum... ca ne fonctionne pas....

...
dim FeuilleActive as sheets

If CheckBox1.Value = True Then 'Traitement collectif
For i = 1 To ThisWorkbook.Sheets.Count - 2
FeuilleActive = sheets(i).Name
Sheets(FeuilleActive).Visible = True
Sheets(FeuilleActive).Activate
derlign = Range("A65536").End(xlUp).Row
Range("A" & derlign + 1).Activate
ActiveCell.Value = DateTraitement
ActiveCell.Offset(0, 3).Value = 30
Next i
Else .... 'Traiteme
 
Re : Boucle pour récupérer le nom des feuilles

Salut gianluca
dim FeuilleActive as sheet
Sheets est une collection de feuille : tu aurais du mettre Sheet pour définir un objet feuille, mais vu l'utilisation que tu en fais, c'est plutôt une variable String (chaîne de caractères), puisque tu y colles le nom et pas la feuille

If CheckBox1.Value = True Then 'Traitement collectif
For i = 1 To ThisWorkbook.Sheets.Count - 2
FeuilleActive = sheets(i).Name
Sheets(FeuilleActive).Visible = True
Sheets(FeuilleActive).Activate
derlign = Range("A65536").End(xlUp).Row
Range("A" & derlign + 1).Activate
ActiveCell.Value = DateTraitement
ActiveCell.Offset(0, 3).Value = 30
Next i
Else .... 'Traiteme

tu peux essayer un code comme ça :
If CheckBox1.Value Then 'Traitement collectif
For i = 1 To ThisWorkbook.Sheets.Count - 2
sheets(i).Visible = True
Sheets(i).Range("A65536").End(xlUp).offset(1,0)= DateTraitement
Sheets(i).Range("A65536").End(xlUp).offset(0,3)= 30
Next i
Else ....
A+
 
Re : Boucle pour récupérer le nom des feuilles

Salut gianluca
Bonjour Gorfael
ou pour éviter les Offset
de plus tu n'es pas obligé d'activer la feuille pour écrire dedans
Code:
Dim DerLgn as Integer
Dim I as Byte
 
For I = 1 To ThisWorkbook.Sheets.Count - 2
With Sheets(I)
     DerLgn = .Range("A65536").End(xlUp).Row + 1
                       .Cells(DerLgn, 1) = DateTraitement
                       .Cells(DerLgn, 3) = 30
End With
Next I

Bonne fin de Journée
 
Dernière édition:
Re : Boucle pour récupérer le nom des feuilles

Re Chti160 et Gorfael....


Merci de vos réponses, pardonnez moi mais j'ai un peu merdu sur mon message et ai continué le fil sur le message suivant....

En tous cas merci de vous être penché sur mon souci.

Gianluca
 
- 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

  • Question Question
Réponses
10
Affichages
1 K
T
Réponses
4
Affichages
6 K
ThomasGLT
T
L
Réponses
1
Affichages
1 K
Lucien31
L
Retour