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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro oublie des cellules [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro oublie des cellules [Résolu]

n°1986909
GohanSSj2
Posté le 23-04-2010 à 10:02:39  profilanswer
 

Bonjour !!
 
J'ai créé une macro qui semble fonctionnée mais lorsque je lance cette derniére, elle oublie des cellules en cour de route, comme si le PC allait trop vite pour la macro lol.
voici la macro :

Code :
  1. Sub Test()
  2. Range("B1:B6" ).Select
  3. For Each c In Selection
  4. If Sheets("Feuil2" ).Range("A1:A12" ).Find(what:=c) Is Nothing Then
  5. Rows(c.Row).Delete Shift:=xlShiftUp
  6. Else
  7. End If
  8. Next c
  9. End Sub


 
Je souhaite donc que pour chaque ligne dans ma premiére feuille elle verifie si la valeur dans une colonne est présente dans une autre colonne d'une autre feuille (qui représente la limite de données à traiter), cela me permet de faire un tri dans mes données de base.
Donc dés qur la valeur n'est pas trouvée dans la feuille 2 la macro supprime la ligne complétement sans laisser de vide.
 
Mais je suis obliger de relancer plusieurs fois la macro pour que cela fonctionne completement.  
La macro traite quelques lignes au hazard, certaines ne sont pas traitée.
 
Je trouve ça vraiment étrange. La macro n'aime peut être pas que je supprime les ligne au fur et à mesure.
 
J'attend vos idées avec impatience ^^


Message édité par GohanSSj2 le 03-05-2010 à 13:54:00
mood
Publicité
Posté le 23-04-2010 à 10:02:39  profilanswer
 

n°1986913
GohanSSj2
Posté le 23-04-2010 à 10:13:20  profilanswer
 

Bon j'ai trouver un début de réponse:
c'est que ma macro supprime une ligne alors quelle va ensuite vérifier la suivante, donc en faite comme els ligne se décal au fur et a mesure, on saute une ligne à chaque fois que ma condition est vrai !!
 
Je cherche un code prenant en compte cette condition.
(lol à chaque fois je me répond tout seul sur ce forum :D comme je cherche en meme temps parfois (au bout de 30 min) je trouve enfin une petite réponse)

n°1986917
GohanSSj2
Posté le 23-04-2010 à 10:23:12  profilanswer
 

c'est bon j'ai enfin trouvé et adapté !!!
 
voila le code:

Code :
  1. sub test()
  2. For I = Range("B1:B16" ).Cells.Count To 1 Step -1
  3. If Sheets("Feuil2" ).Range("A1:A12" ).Find(what:=Range("B1:B16" ).Cells(I).Value) Is Nothing Then
  4. Range("B1:B16" ).Cells(I).EntireRow.Delete
  5. Else
  6. End If
  7. Next
  8. End Sub


 
Merci à ce forum pour votre source d'inspiration et de bon sens :)


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

  Macro oublie des cellules [Résolu]

 

Sujets relatifs
Copier Coller des cellules sous conditionsLTI-LIB: Problèmes d'installation [Résolu]
[RESOLU]Accéder méthode ou objet autre Frame[resolu] Probleme de syntaxe dans un UPDATE
Pb margin-top : 2 éléments côte-à-côte se chevauchent![RESOLU] mysqldump, php et dump vide :(
UserForm et Barre de progression [Résolu][résolu] Undefined index
[Résolu] Héritage de classe, récupérer attribut de la classe parent[Résolu] Class et function
Plus de sujets relatifs à : Macro oublie des cellules [Résolu]


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