Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1536 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  RESOLU pb de loop

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

RESOLU pb de loop

n°1251250
peanutz
Posté le 23-11-2005 à 09:41:39  profilanswer
 

je voudrais que la macro "mille" sur la feuille "CAs_ok" sélectionne à partir de la ligne 1001 le reste du tableau, les coupe et les colle sur une nouvelle feuille intitulée "reste palmares", et renomme la feuille "CAs_ok" en "1000 palmares"
 
j'ai fait ça
 
Sub mille()
'Tes variables pour la valeur feuille
Dim NomFeuil
NomFeuil = "reste palmares"
'Mise en place de la nouvelle feuille
     Sheets.Add After:=Sheets(Worksheets.Count)
     ActiveSheet.Name = NomFeuil
'mise en place de la ligne d'intitulé de colone
     Sheets("CAs_OK" ).Activate
     Rows(1).Select
     Selection.Copy
     Sheets(NomFeuil).Select
     Range("A1" ).Select
     ActiveSheet.Paste
     Application.CutCopyMode = False
'Ta variable de ligne pour le test de valeur
Dim l
l = 1001 'à partir du 1000e
'ta variable de linge pour la recopie
Dim lig
lig = 2
'on met en place une boucle pour passer tes valeur
Do While Sheets("CAs_OK" ).Cells(l, 1) <> "" 'fait tant que n'est pas vide
    'tu copie la ligne dans la nouvelle feuille
          Sheets("CAs_OK" ).Activate
          Rows(l).Select
          Selection.Copy
          Sheets(NomFeuil).Activate
          Cells(lig, 1).Select
          ActiveSheet.Paste
          Application.CutCopyMode = False
     'tu ajoute 1 à ligne pour la prochaine copie
          lig = lig + 1
     'tu supprime la ligne
          Sheets("CAs_OK" ).Rows(l).Delete
     'tu passes à la ligne suivante
          l = l + 1
Loop
End Sub
 
ça ne marche pas, il coupe/colle une ligne sur deux et sur ma feuille CAs_OK il est censé rester 1001 lignes et il y en a plus.
où est le souci ?


Message édité par peanutz le 23-11-2005 à 10:37:57
mood
Publicité
Posté le 23-11-2005 à 09:41:39  profilanswer
 

n°1251271
ziold
L'original...
Posté le 23-11-2005 à 10:26:13  profilanswer
 

Deux observations:
 
ta commande (Do While Sheets("CAs_OK" ).Cells(l, 1) <> "" 'fait tant que n'est pas vide), il ne manquerait pas (.Value) après (Cells(l,1)) ?? Peut être que ça marche aussi sans.
 
Surtout le souci (ce qui explique le 1 ligne sur 2) c'est que tu supprimes la ligne que tu viens de copier, donc ce qui était à la ligne l+1 est remonté à la ligne l. ça ne sert donc à rien de faire l=l+1 (sinon tu va copier ce qui était, avant supression, à l+2...).
Je sais pas si je me suis bien fait comprendre, mais l'idée c'est que ton "l=l+1" est inutile (tu pourrais d'ailleurs remplacer ton l par 1001 directement).
 
Par contre pourquoi il ne te reste plus rien sur la première feuille... Je ne vois pas tout de suite...

n°1251282
peanutz
Posté le 23-11-2005 à 10:37:34  profilanswer
 

ok merci pour l'explication je n'avais pas pensé au l=l+1
 
pour la première feuille c ok aussi, je voulais dire qu'il en restait + (!!!)
 
merci bcp !

n°1251289
ziold
L'original...
Posté le 23-11-2005 à 10:49:01  profilanswer
 

De rien...
Effectivement le "plus" m'a trompé...lol


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  RESOLU pb de loop

 

Sujets relatifs
[Résolu]Utiliser une fonction dans un fichier PHP[Résolu] POO question hype débutant
[resolu] Copie de feuilles ...[VBS] afficher l'animation de copie de fichier - [résolu]
[VBS - RESOLU] Recherche recursive de fichiers avec caracteres généric[STRUTS + REALM] Cohabitation? [Résolu]
[Résolu] XMLHttpRequest : Impossible de récupérer les données[Resolu] Insertion de mots contenant une quote dans un varchar
RESOLU enchainement de macros[VBS][résolu] imbriquer des "do while ... loop"?
Plus de sujets relatifs à : RESOLU pb de loop


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR