Copier coller ligne par ligne

Jeremy_xx Messages postés 1 Date d'inscription   Statut Membre -  
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é.
Configuration: Windows Vista
Internet Explorer 7.0

8 réponses

  1. Jeremy_xx
     
    voila ci joint mon explication : http://www.cijoint.fr/cjlink.php?file=cj200810/cijA65alJC.zip
    0
  2. Jeremy_xx
     
    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
    0
  3. Jeremy_xx
     
    Je vais y jeté un coup d'oeil . Ui mais j'ai 40 collone donc c'est assez galère sinon.

    Merci lermitte22
    0
  4. Jeremy_xx
     
    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 ??
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Et tes AA.. Y sont situés où ?
    A+
    -1
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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+
    -1
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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+
    -1
  9. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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.

    -1