Problème Macro excel 2007

Problème Macro excel 2007 - VB/VBA/VBS - Programmation

Marsh Posté le 15-08-2014 à 10:31:38    

Bonjour a tous,
 
Je suis débutant en macro
 
Je viens vers vous pour résoudre un problème sur une macro en boucle
 
je vous détail ce que je veux faire :  
 
Dans un onglet j'ai un tableau avec une liste. je veux reclasser chaque ligne de ce tableau dans différents tableaux selon des critères différents.
 
J'utilise une boucle pour traiter ligne par ligne mon tableau avec ma liste.
 
voici ma macro :
 
Sub liste()
 
Sheets("D05" ).Select
 
FindeLigne = ActiveSheet.UsedRange.Rows.Count + 1
Numeroligne = 1
Co = Sheets("FEmai" ).Range("A4" ).End(xlDown).Row + 1
Co1 = Sheets("FEmai" ).Range("A33" ).End(xlDown).Row + 1
Co2 = Sheets("FEmai" ).Range("A58" ).End(xlDown).Row + 1
Co3 = Sheets("FEmai" ).Range("A208" ).End(xlDown).Row + 1
 
While Numeroligne < FindeLigne
 
Sheets("D05" ).Select
Range("A" & Numeroligne, "J" & Numeroligne).Select
Selection.Copy
 
If Sheets("D05" ).Range("I" & Numeroligne).Value = "AMB" Then
Sheets("FEmai" ).Select
Range("A" & Co).Select
ActiveSheet.Paste
Range("A4" ).Select
End If
 
If Sheets("D05" ).Range("I" & Numeroligne).Value = "T" Then
Sheets("FEmai" ).Select
Range("A" & Co1).Select
ActiveSheet.Paste
Range("A4" ).Select
End If
 
If Sheets("D05" ).Range("I" & Numeroligne).Value = "TM" Then
Sheets("FEmai" ).Select
Range("A" & Co2).Select
ActiveSheet.Paste
Range("A4" ).Select
End If
 
If Sheets("D05" ).Range("I" & Numeroligne).Value = "VSL" Then
Sheets("FEmai" ).Select
Range("A" & Co3).Select
ActiveSheet.Paste
Range("A4" ).Select
End If
 
Numeroligne = Numeroligne + 1
 
Wend
 
 
 
Mon problème vient d'une ligne de ma macro à partir du 2ème tour de ma boucle car au 1er tour tt marche correctement.
 
Voici la ligne qui beug : Range("A" & Co).Select sachant que Co = Sheets("FEmai" ).Range("A4" ).End(xlDown).Row + 1 (idem pour Co1 Co2 et Co3)
 
Mon souci vient du +1 car je veux sélectionner la première cellule vide de la colonne "A" pour coller à la suite de mon tableau la ligne avec le critère demander.  
Donc sur le 1er tour la première tt se passe comme je veux.
Mais sur le deuxième tour la macro ne prend pas en consédration le +1, la cellule qu'elle selection est la derniére cellule du tableau qui est rempli.
 
Si quelqu'un peut m'aider ça serai super  sympa.
J'espère avoir été claire dans mes explication.
 
 Merci

Reply

Marsh Posté le 15-08-2014 à 10:31:38   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed