Boucle While qui ne passe pas à la ligne inférieure [Résolu]

Signaler
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
-
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
-
Bonjour,
je dois recopier dans une BD des infos provenant d'un autre fichier excel, et je demmande que tant que la ligne inférieure n'est pas vide(boucle While), je la copie dans la bd et ainsi de suite. Mon problème est que lorsque je fais :


Range("B24").Select
While ActiveCell.Value <> ""



ActiveCell.Offset(1,-7).Select 'passer ligne inférieure 1ere cellule

Wend

Cette action ne s'effectue pas et recopie toujours la même ligne.
Je suis débutant et j'aimerai comprendre quelle est mon erreur.
Merci d'avance

4 réponses

Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
ceci fontionne parfaitement:
Sub test()
Sheets("feuil1").Select
    Range("i24").Select
    ActiveCell.Offset(1, -7).Activate
End Sub

donc une premiere erreur :
ce n'est pas
 Sheets(Escale).select
mais
 Sheets("Escale").select

une deuxieme erreur possible ... l'onglet  "Escale" n'existe pas ou n'est pas correctement orthographié

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
bonjour
je vois deux erreurs
ActiveCell.Offset(1,-7).select
sachant que tu es sur la colone "B" (c'est à dire la colonne 2)comment peux tu tedécaler de 7 colonnes vers la gauche
de plus la syntaxe est normalement .Activate plutôt que .Select

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014

Bonjour pile_poil,
J'ai essayé également avec activate, mais aucun effet, concernant le décalage de cellule, c'est bon car je recopie plusieurs cellules vers la gauche, j'ai neutralisé la boucle pour voir, et ca se bloque en bout de ligne sans vouloir effectué le décallage vers le bas.

Sheets(Escale).Select
Range("i24").Select
ActiveCell.Offset(1, -7).Activate

bizare
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014

Bonjour,
Merci pour les réponses, tu as raison ça marche, c'est moi qui avait oublié de mettre une variable à la place d'un emplacement en dur, donc la boucle ne pouvait revenait toujours sur ma cellule en dur et faisait en sorte que cela ne passait pas à la ligne inférieure. Merci pour ton aide.
Phil.