Copier coller ligne par ligne
Jeremy_xx
Messages postés
1
Date d'inscription
Statut
Membre
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
J ai créer un User form qui entre les données ( sa c'est OK ) mais je dois faire ça :
Par Exemple Lorsque je clique sur "choix champ et Imprimer"
qui m'amene sur le userForm1 et dans je voudrais lorsque je selectionne AA qu'il me selection
toutes les lignes qui contienne AA et ensuite me les metre en forme sur la feuil2 ( la mise en forme je l'ai faite ;) ) et en faite le probleme et que je n'arrive pas a copier une ligne ==> l’envoyé sur la feuil2 , imprimer la page
après copier la 2eme ligne ==> l'envoyé sur la feuil2 , limprimer et ainsi de suite jusqu'à que toute ligne qui contienne AA soit imprimé.
J ai créer un User form qui entre les données ( sa c'est OK ) mais je dois faire ça :
Par Exemple Lorsque je clique sur "choix champ et Imprimer"
qui m'amene sur le userForm1 et dans je voudrais lorsque je selectionne AA qu'il me selection
toutes les lignes qui contienne AA et ensuite me les metre en forme sur la feuil2 ( la mise en forme je l'ai faite ;) ) et en faite le probleme et que je n'arrive pas a copier une ligne ==> l’envoyé sur la feuil2 , imprimer la page
après copier la 2eme ligne ==> l'envoyé sur la feuil2 , limprimer et ainsi de suite jusqu'à que toute ligne qui contienne AA soit imprimé.
Configuration: Windows Vista Internet Explorer 7.0
8 réponses
-
voila ci joint mon explication : http://www.cijoint.fr/cjlink.php?file=cj200810/cijA65alJC.zip
-
un coup de main je pense avoir trouvé la solution mais j'ai un petit probleme
For Lig = 5 To DerLig
Sheets("Feuil2").Select
Cells(ListIndex + 5, 1).EntireRow.Select <==== c'est ici le probleme
Selection.Copy
'ne vous occupez pas de ce qui suit :
Sheets("aaa").Select
Range("C4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveWindow.SmallScroll Down:=18
Range("C25:C48").Select
Application.CutCopyMode = False
Selection.Cut
ActiveWindow.SmallScroll Down:=-33
Range("F4").Select
ActiveSheet.Paste
Range("F27").Select
Selection.Cut
Range("A26").Select
ActiveSheet.Paste
Next
je voudrais qu'il me choisissent la ligne 5 pui quant il a fait la boucle qu'il me selectionne la suivante !
Svp -
Je vais y jeté un coup d'oeil . Ui mais j'ai 40 collone donc c'est assez galère sinon.
Merci lermitte22 -
Merci lermite222 j'ai réussi enfin pas tout à fait ^^
J'ai un userform avec un comboBox et 3 checkBox :et je doit choisi l'un des 4 , lorsque j'ai choisi je clique sur "imprimer" ( il imprime ce qui est associé a un des choix)
mais le probleme est que pour l instant je n'avais fait que avec le comboBox et un checkbox : j'avais choisi cet formule :
If comboBox=true then (la je racourçi)
alors il m'imprime ce que je souhaite
Else
il imprime ce que j'ai choisi dans le check box
(Puisque je considérais qu'il y avais un seul checkbox et un comboBox)
Alors comment faire maintenant ?? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Et tes AA.. Y sont situés où ?
A+ -
Re,
J'ai pas réussi à charger ton classeur, je ne suis pas sur 2007 pour le moment.
Mais un bout de code qui va probablement t'aider.Sub CopieLigne() Dim Lig As Long Dim FL1 As Worksheet, FL2 As Worksheet Dim Compare Dim DebCopy Compare = "AA" 'Pour exemple DebCopy = 3 'copie à partir de la ligne 3 sur la feuille2 Set FL1 = Sheets("Feuil1") Set FL2 = Sheets("Feuil2") For Lig = 5 To FL1.Range("A65536").End(xlUp).Row If UCase(FL1.Cells(Lig, 4).Value) = Compare Then FL1.Rows(Lig).Copy FL2.Rows(DebCopy) DebCopy = DebCopy + 1 End If Next Lig End Sub
A+ -
Mais plutôt que de copier toute la ligne il serrait plus judicieux de ne copier que les colonnes nécessaires.
Tu pourrais avoir des données qui ne sont pas à copier.
Et la position de copie peu être différente de la position d'origine.Sub CopiePlage() Dim Lig As Long Dim FL1 As Worksheet, FL2 As Worksheet Dim Compare Dim LigCopy As Long, ColCopy As Integer Dim DebPlage As Integer, FinPlage As Integer DebPlage = 1 'Copie à partir de la colonne A FinPlage = 10 'jusque la colonne J Compare = "AA" 'Pour exemple LigCopy = 3 'copie à partir de la ligne 3 sur la feuille2 ColCopy = 4 'copie à partir de la colonne D Set FL1 = Sheets("Feuil1") Set FL2 = Sheets("Feuil2") FL1.Select For Lig = 5 To FL1.Range("A65536").End(xlUp).Row If UCase(FL1.Cells(Lig, 4).Value) = Compare Then FL1.Range(Cells(Lig, DebPlage), Cells(Lig, FinPlage)).Copy FL2.Cells(LigCopy, ColCopy) LigCopy = LigCopy + 1 End If Next Lig End Sub
Les variables sont à adapter.
A+
-
Alors comment faire maintenant ??
Expliquer clairement
Et quand tu met un Tout..tout petit bout de code, au moins prend la peine de le mettre en entier.