Jean2208
Messages postés19Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention22 septembre 2009
-
16 janv. 2007 à 11:29
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
17 janv. 2007 à 00:14
Bonjour à Tous,
Ci-dessus le début du code que j'essaie d'écrire en m'inspirant de ce que j'ai pu trouver un peu partout.
J’ai une feuille "Details Mvt" que je screen à partir de la cellule B5 jusqu'a arriver à la première cellule vide ensuite je vais dans un autre onglet "DB"....
C'est à ce moment que je me retrouve bloqué.
Je voudrais une fois dans l'onglet "DB" pouvoir sélectionner une colonne donnée, "Colonne Z par exemple", la screener sur toute les lignes non vides et repérer tous les chiffres <> de 0.
Qd ces chiffres <> de 0 st repérés, pouvoir sélectionner et copier chaque ligne de la colonne C à K par exemple et les coller dans mon onglet "Details Mvt"
Jean2208
Messages postés19Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention22 septembre 2009 16 janv. 2007 à 13:52
Rebonjour,
J'ai reussi à avancer sur le code :
le voici :
Sub Detail_Mvt()
Application.ScreenUpdating = False
Sheets("Detail Mvt").Select
Dim j As String
Range("B2").Select
While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
Wend
j = ActiveCell.Address
Sheets("DB").Select
Dim i As String
Range("F2").Select
While ActiveCell = 0
ActiveCell.Offset(1, 0).Select
Wend
i = ActiveCell.Address
ActiveCell("A:C").Select
Selection.Copy
Sheets("Detail Mvt").Select
Range(j).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
Mon seul problème maintenant c'est que je n'arrive pas à écrire la chose suivante : <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Maintenant que J'ai trouvé dans la colonne F les chiffres différents de 0.
Alors, toujours sur la même ligne je voudrais sélectionner les colonne A jusqu'à D (qui contiennent des informations textes) et les copier.
Exemple :
intitulé
,
intitulé
,
intitulé
,
intitulé
,
total1
,
total1
,
----
hdc DB
,
hdc DB
,
hdc DB
,
hdc DB
,
0
,
0
,
----
hdc DB
,
hdc DB
,
hdc DB
,
hdc DB
,
0
,
0
,
----
hdc DB
,
hdc DB
,
hdc DB
,
hdc DB
,
-1
,
-1
Si vous avez une solution pour moi, je vous remercie Beaucoup.
Jean2208
Messages postés19Date d'inscriptiondimanche 7 janvier 2007StatutMembreDernière intervention22 septembre 2009 16 janv. 2007 à 14:49
J'ai reussi a prendre la cellule à coté mais tjrs pas plusieurs cellule.
Autre pétin que j'ai remarqué, c'est que dès la marco trouve une valeur il va l'écrire sans faire de boucle sur toute la colonnes.
Par exemple si j'ai 0 en "F1", 1 en "F2" puis puis 3 en "F5".
il ne prendra les infos que dans "F1".
Merci!
Voici mon code :
Sub Detail_Mvt()Application.ScreenUpdating = False
Sheets("Detail Mvt").Select
Dim j As String
Range("B2").Select
While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
Wend
j = ActiveCell.Address
Sheets("DB").Select
Dim i As String
Range("F2").Select
While ActiveCell = 0
ActiveCell.Offset(1, 0).Select
Wend
i = ActiveCell.Address
ActiveCell.Offset(0, -1).Select
Selection.Copy
Sheets("Detail Mvt").Select
Range(j).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 17 janv. 2007 à 00:14
Salut,
Je pense que le mieux est que tu expliques exactement ce que tu cherches à copier.
Je comprend le principe, mais dans un message tu parles de la colonne Z et des cellules de C à K, puis dans un autre, c'est la colonne F et les cellules A à D...
Un exemple, si tu veux copier les cellules A à D lorsque la cellule F sur la même ligne est à 0
Dim i as long
For i = 2 to NombreDeLignes 'À déterminer (voir plus bas...)
If Range("F" & i) = 0 then 'On a trouvé un 0
Range("A" & i & ":D" & i).copy 'On copie les cellules de A à D de cette ligne
'Aller coller la sélection où il faut
End if
Next
Pour trouver la dernière ligne, tu peux faire une recherche sur le site, il y a des tas de codes utilisant la méthode Find, rapide et efficace.