Erreur dans un boucle "For each"

Apollo25 Messages postés 5 Statut Membre -  
Apollo25 Messages postés 5 Statut Membre -
Bonjour à tous,

Le code suivant me permet de sélectionner dans chacune des feuilles qui correspondent à la cellule de la 13ème colonne, à la fin de mon tableau (1ère ligne vide vers le bas).


'Pour toutes les feuilles de ce classeur...
For Each feuilles In ThisWorkbook.Worksheets
                nomf = feuilles.Name
'... dont le nom (de la feuille) commence par "V"
                    IfLeft(nomf, 1) = "V" Then
                     
'N° de la première ligne vide en fin de tableau (en parcourant la colonne B) 
                    no_ligne = hisWorkbook.Worksheets(nomf).Range("B1048576").End(xlUp).Row + 1

'Inscription d'un valeur ("toto") en "première ligne vide"/colonne "B"
                    Worksheets(nomf).Cells(no_ligne, 2) =  "toto"
                  
'Sélection de la cellule "première ligne vide"/colonne "P"
                    Worksheets(nomf).Cells(no_ligne, 16).Select

                      
                    End If



Ce que j'ai:
Feuille 1 : "Vxx"
Feuille 2 : "Tartanpion"
Feuille 3 : "V21"

Mon problème:
Je regarde l'itération "For each" pas à pas et j'observe :
- aucun problème lorsque l'itération parcours ma feuille "Vxxx"
- les actions sont bien "sautées" au 2eme passage car le nom de la deuxieme feuille commence par "T" (donc pas par un "V")
- troisième passage, feuille "V21" : ok pour l'inscription de "toto" (action 1) mais ERREUR à la sélection !!! (action 2)

Une idée ?

Merci beaucoup !

A voir également:

3 réponses

Frenchie83 Messages postés 2254 Statut Membre 339
 
Bonjour

Tout simplement parce que la feuille n'est pas sélectionnée, on pointe toujours sur la feuille 1, donc on ne peut pas écrire dans la feuille 3.

For Each feuilles In ThisWorkbook.Worksheets
                Feuilles.select 
               nomf = feuilles.Name


essayez, ça devrait aller

cdlt
1
Gyrus Messages postés 3360 Statut Membre 526
 
Bonjour,

Sélectionne la feuille avant de sélectionner la cellule.
Worksheets(nomf).Select
Worksheets(nomf).Cells(no_ligne, 16).Select


A+
1
Apollo25 Messages postés 5 Statut Membre
 
Merci, je suis trop bête...

Bonne journée !
0