mistersaku
Messages postés38Date d'inscriptionsamedi 17 février 2007StatutMembreDernière intervention21 octobre 2010
-
18 févr. 2007 à 21:05
mistersaku
Messages postés38Date d'inscriptionsamedi 17 février 2007StatutMembreDernière intervention21 octobre 2010
-
20 févr. 2007 à 12:06
Bonsoir à toutes et à tous,
Je travail sur un project mais malheureusement mes connaissances sur VBA sont un peu limitées.
J'ai un tableau, sur la feuil 1 de mon fichier, avec environs 1000 lignes, je voudrais qu'à chaque fois qu'apparaisse l'information "OK" dans la colone A que la ligne de la colonne A à BB soit supprimer de ma feuil 1 et qu'elle apparaisse dans la feuil 2. Les lignes qui ont ete coupées de la feuil 1 doivent apparaitre les unes à la suite des autres dans la feuil 2. Je cherche à garder mes informations brulantes sur la feuil1 et garder l'historique de mes informations sur la feuil2. Je suis sûr qu'avec de bonnes connaissances ce problème doit être un jeu d'enfant mais pour moi c'est un vrai casse tête. Merci d'avance pour votre aide et bonne nuit.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 févr. 2007 à 09:00
Salut,
Essaie ceic peut être que cela peu t'aider.
Je n'ai testé que sur les dix premieres ligne pour ne pas trop perdre de temps.
Dim i As Long
For i = 1 To 10
If ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).Text = "OK" Then
Call ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).EntireRow.Cut
Call ActiveWorkbook.Worksheets("Feuil2").Range("A1").Insert
Call ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).Delete(xlUp)
End If
Next, ----
[code.aspx?ID=41455 By Renfield]
sobullshit
Messages postés178Date d'inscriptionvendredi 9 février 2007StatutMembreDernière intervention 8 juin 2007 19 févr. 2007 à 09:10
je pense que c'est pas trop dur,
For i = 1 to xldown
if xls.worksheet(1).Cells(i,1)="OK" then
xls.worksheet(1).Rows(i).select
Selection.Cut
xls.worksheet(2).activate
Selection.end(xldown).select
Selection.Copy
End if
Next i
voilà ya plein d'erreur partout mais ça te mettra ptet sur la voie.
si ta besoin de plus d'infos pke ya tro d'erreurs, jsui sur ke kk1 se fera un plaisir de t'aider
Vous n’avez pas trouvé la réponse que vous recherchez ?
mistersaku
Messages postés38Date d'inscriptionsamedi 17 février 2007StatutMembreDernière intervention21 octobre 2010 19 févr. 2007 à 10:05
C'est presque bon ce code
Dim i As Long
For i = 1 To 10
If ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).Text = "OK" Then
Call ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).EntireRow.Cut
Call ActiveWorkbook.Worksheets("Feuil2").Range("A1").Insert
Call ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).Delete(xlUp)
End If
Next
Mais je suprime uniquement une cellule et non la ligne mais en tout cas merci pour ton aide. Je pense que le probleme vient de: Range("A" & i).Delete(xlUp)
mistersaku
Messages postés38Date d'inscriptionsamedi 17 février 2007StatutMembreDernière intervention21 octobre 2010 19 févr. 2007 à 10:23
J'ai mis
Range("A" & i).EntireRow.Delete(xlUp)
a la place de
Range("A" & i).Delete(xlUp)
Mais maintenant le probleme c'est que je suprime une ligne sur deux. Quand i=1 et qu'en colonne A j'ai OK il suprime ma ligne (jusque la tout va bien) mais le probleme c'est quand la ligne 2 devient ligne 1, le compteur, lui, poursuit sur i=2 et ma ligne 2 devenu 1 n'est plus tenu en compte.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 19 févr. 2007 à 11:29
Salut,
Sinon tu peux essayer te
- d'abord traiter le Cut de la feuill1 et le paste sur la feuille2
- Puis une fois tout copier, tu refait une boucle qui supprime les lignes vides.
mistersaku
Messages postés38Date d'inscriptionsamedi 17 février 2007StatutMembreDernière intervention21 octobre 2010 19 févr. 2007 à 18:29
Voila ce que j'ai exactement mais malheureusement ca ne fonctionne pas. J'ai une err 438: Object doesn't support this property or method
Dim i As Long
For i = 10 To 1 Step -1
If ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).Text = "OK" Then
Call ActiveWorkbook.Worksheets("Feuil1").Range("A" & i).EntireRow.Cut
Call ActiveWorkbook.Worksheets("Feuil2").Range("A1").Insert
Worksheets("Feuil1").Row(i).Hidden = True
End If
Next