kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018
-
27 mai 2011 à 13:05
kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018
-
27 mai 2011 à 19:12
Bonjour,
Je travail avec 2 sorte de tableau. Je parcours 2 colonne d'un tableau et si la cellule est rempli, je copie cette ligne pour la coller sur un autre tableau.
Mon parcours de colonne se fait trés bien et quand je rajoute mon Rows().insert le code est complétement perdu :calim2: !!!!!
Je m'explique : adepte des msgbox pour savoir si tout se passe bien, j'ai mis un msgbox pour afficher la cellule rempli, la tout va bien. Quand je rajoute mon insert, ma boucle ne tourne plus rond lol et je me rajoute 2 fois plus de lignes !!!
Extrait de mon code
Sub MAJ()
Dim ligneTab2 As Integer
Dim ligneAjout As Integer
Dim lcopy As Range
Dim lpaste As Range
For ligneTab2 = Range("LigneTitreA").Row + 2 To Range("LigneFinA").Row - 1
ligneAjout = Range("LigneFinR").Row - 1
If Cells(ligneTab2, Range("C_Total_HT").Column) <> "" Or Cells(ligneTab2, Range("C_Total_HT").Column) <> "" Then
'MsgBox Cells(ligneTab2, Range("C_Total_HT").Column)
'MsgBox Range(Cells(ligneTab2, Range("C_Societe").Column), Cells(ligneTab2, Range("C_Remarques_A").Column)).Select
Rows(ligneAjout).Insert
'Set lcopy = Range(Cells(ligneTab2, Range("C_Societe").Column), Cells(ligneTab2, Range("C_Remarques_A").Column))
End If
Next
End Sub
Peut être une erreur inattention ou alors je fais une manip qui n'est pas la bonne.
kyoku59
Messages postés54Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention21 septembre 2018 27 mai 2011 à 19:12
Re
Juste pour dire que d'une part le code que j'ai mis au dessus j'ai pas mis le bon et d'autre part j'ai compris mon erreur GGGrrrrr.
Forcément si je rajoute une ligne bien plus haut toutes mes cellules descendent d'un cran.
Le boulet et encore une fois msgbox c'est utile lol
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 27 mai 2011 à 13:20
Bonjour,
en allant dans ce sens (du haut vers le bas) tu modifies sans cesse le nombre de lignes, leur N°, etc... et te fais des croche-pieds.
Il te faut aller dans l'autre sens dans ta boucle For ... Next (du bas vers le haut en utilisant Step -1)
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 27 mai 2011 à 17:57
ouvre donc déjà (ce devrait être un réflexe automatique) ton aide VBA sur la méthode Insert et tu comprendras ce qui arrive si tu n'utilises pas l'argument Shift
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est