[RESOLU]Bug copie de lignes entre documents Excel

smallville

XLDnaute Nouveau
Bonjour à tous, Bonjour le Forum
je me tourne vers vous car j'ai un "bug" dans ma programmation en VBA sur Excel.

Mon programme devrais copier des lignes sous condition de "Classeur2", "Feuil1" pour les coller dans un autre document nommé "Classeur1" (dans lequel est programmé le code) en "Feuil1".

Sauf que quelque fois la condition n'est pas respectée (des lignes sont oublier) et il ne colle pas les lignes à partir de la ligne 1 mais à partir de la ligne 2

Si quelqu'un avais une idée d’où viens le problème,
Merci d'avance.

PS: la dernière ligne (K) utilisé se trouve à la ligne 79.
 

Pièces jointes

  • Classeur1.xlsm
    17.5 KB · Affichages: 23
  • Classeur2.xlsx
    8.7 KB · Affichages: 31
  • Classeur1.xlsm
    17.5 KB · Affichages: 38
  • Classeur2.xlsx
    8.7 KB · Affichages: 46
  • Classeur1.xlsm
    17.5 KB · Affichages: 35
  • Classeur2.xlsx
    8.7 KB · Affichages: 29
Dernière édition:

smallville

XLDnaute Nouveau
Re : Bug copie de lignes entre documents Excel

Bonjour camarchepas,

Merci pour ta réponse rapide, ça fonctionne correctement pour l'exemple que j'ai donner Mais quand j'essaye d'applique la macro à un autre document ça ne fonctionne plus !!! pourquoi ??????

je veux toujours faire la même chose pourtant, et j'ai bien modifié les noms des documents, leurs chemins d’accès et le nom des feuilles.

je joint le document sur lequel j'aimerais appliquer la macro de camarchepas.
 

Pièces jointes

  • Classeur2.xlsx
    14.7 KB · Affichages: 37
  • Classeur1.xlsm
    24.1 KB · Affichages: 32
  • Classeur2.xlsx
    14.7 KB · Affichages: 28
  • Classeur1.xlsm
    24.1 KB · Affichages: 35
  • Classeur2.xlsx
    14.7 KB · Affichages: 21
  • Classeur1.xlsm
    24.1 KB · Affichages: 30

camarchepas

XLDnaute Barbatruc
Re : Bug copie de lignes entre documents Excel

Voici,

Donc 2 choses,

la premiére pour trouver la ligne disponible , je testais sur la colonne A , s'était ok dans l'autre exemple , là c'est la colonne C

Pour ce qui est du problème lié au tri ,

Il faut savoir si oui ou non , il y a des entêtes .

Voilà , le fichier adapté à ton nouveau cas
 

Pièces jointes

  • Classeur1-6.xlsm
    19 KB · Affichages: 27

smallville

XLDnaute Nouveau
Re : Bug copie de lignes entre documents Excel

Bonjour carmerchepas

Merci une nouvelle fois pour ton aide !
ça fonctionne parfaitement mais j'arrive plus à mettre mes nouvelles lignes en couleur. J'ai fait plusieurs essais mais sans succès....
J'aimerais mettre en couleur uniquement les lignes ajoutées et pas la ligne au complet ( pas jusqu’à l’infini ), juste les cellule de la ligne utiliser.

sinon j'ai une dernière question pour le même projet mais ça deviens trop "poussé" pour mon niveau en VBA, je m'explique :
j'aimerais, après avoir appliqué la macro ci-dessus que les lignes en doubles soit supprimées sous condition.
ça devrais ressemblé à quelque chose comme ça:

if "dans la colonne F" il y a deux cellule identique then "sélectionner les deux lignes et recherchez dans la colonne I si au niveau des deux lignes il y à une cellule blanche. Si oui supprimer la ligne complète.

C'est plus compréhensible avec le document Excel joint, du moins je l'espère.

PS: les lignes mise en couleurs dans le document joint sont ici uniquement pour les mettres en valeur, rien à voir avec la macro que j'ai demandé plus haut et qui doit mettre en couleur les lignes qui viennent d’être coller.
 

Pièces jointes

  • Classeur1.xlsm
    25.2 KB · Affichages: 39
  • Classeur1.xlsm
    25.2 KB · Affichages: 33
  • Classeur1.xlsm
    25.2 KB · Affichages: 37

camarchepas

XLDnaute Barbatruc
Re : Bug copie de lignes entre documents Excel

voici le code modifié pour la coloration des nouvelles lignes

Code:
Sub RDN()
' // Copie des lignes desirées dans les feuilles de calcul dédiées
 Dim j As Long
 Dim Lig As Long
 Dim Col     As String
 Dim NbrLig  As Long
 Dim NumLig  As Long


    
 Workbooks.Open Filename:=("E:\Socata\Les Macros\lien master excel et notre doc excel\Classeur2.xlsx")
    
   Col = "I"                 ' colonne de la donnée non vide à tester
   With Workbooks("Classeur2.xlsx").Worksheets("Feuil1")      ' feuille source
     NbrLig = .Cells(65536, Col).End(xlUp).Row
     For Lig = 1 To NbrLig
      If .Cells(Lig, Col).Value = "N" Then
         NumLig = ThisWorkbook.Worksheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0).Row
         If ThisWorkbook.Worksheets("Feuil1").Range("A1") = "" Then NumLig = 1
         .Cells(Lig, Col).EntireRow.Copy Destination:=ThisWorkbook.Worksheets("Feuil1").Range("A" & NumLig)
         ThisWorkbook.Worksheets("Feuil1").Range("A" & NumLig & ":BC" & NumLig).Interior.ColorIndex = 3
      End If
     Next
   End With

'trie par ordre croissant
    ThisWorkbook.Activate
    Worksheets("Feuil1").Cells.Sort key1:=Range("C:C"), order1:=xlAscending, Header:=xlNo, _
    OrderCustom:=1, MatchCase:=²False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal

End Sub
 

smallville

XLDnaute Nouveau
Re : Bug copie de lignes entre documents Excel

Bonjour à tous,

Merci camarchepas pour ton aide tout est bon, ça fonctionne parfaitement !
Si jamais toi ou quelqu'un d'autre trouve pour la macro de suppression de doublon je suis preneur !!!!
Merci d'avance.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr