Microsoft 365 VBA - Ne pas copier ma ligne si le n° de rang existe

Roger36

XLDnaute Nouveau
Bonjour à tous,

Je débute et je souhaiterais modifié une macro déjà existante.
J'ai une macro qui copie et colle des informations dans un autre fichier excel sous condition, mais lorsqu'elle colle mes données dans mon fichier excel, appelé suivi, celle ci remplace les informations déjà collé.
J'ai crée une nouvelle colonne "Rang" en colonne K où chaque ligne porte son numéro.
je souhaiterais rajouter dans ma macro que si le n° indiqué dans "Rang" existe alors ne pas copier ma ligne, ne rien faire.

Est-ce possible ?

Merci beaucoup pour votre aide
 

vgendron

XLDnaute Barbatruc
Comme on n'a pas le fichier de destination, je me suis contenté d'ajouter un filtre pour avoir les lignes à copier
' Filtres
wkA.Sheets("COMMANDES CAMON").Range("A1:S" & derlig).AutoFilter Field:=2, Criteria1:="4- Dmde de commande envoyée a PCA ou LSA"
wkA.Sheets("COMMANDES CAMON").Range("A1:S" & derlig).AutoFilter Field:=7, Criteria1:="X"
wkA.Sheets("COMMANDES CAMON").Range("A1:S" & derlig).AutoFilter Field:=19, Criteria1:="<>", Operator:=xlAnd
 

vgendron

XLDnaute Barbatruc
je me suis permis également de modifier ton code pour éviter de mettre du quadrillage sur toute la feuille contrats
autant ne formater que la zone de données

j'ai également transformé ton tableau de données en table structurée

une solution PQ serait surement très efficace également
 

Pièces jointes

  • Suivi commandes EXCEL DOWNLOADS.xlsm
    44.9 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
dans la PJ: deux solutions
1 par macro
1 par Power Query

pour la macro, j'ai juste mis en commentaire les lignes chemin=... et workbook.open
et j'ai mis la feuille Contrats dans le fichier (et mis en commentaire qui ferme le workbook)

par Power Query, le résultat est mis dans la feuille "par PQ")
 

Pièces jointes

  • Suivi commandes EXCEL DOWNLOADS.xlsm
    62.1 KB · Affichages: 1

Roger36

XLDnaute Nouveau
Je ne connais pas du tout Power Query, je prèfere rester sur la MACRO.
J'ai essayé ta macro mais ça ne fonctionne pas.
J'ai un débogage pour ce code :
wkA.Sheets("COMMANDES CAMON").Range("A1:S" & derlig).AutoFilter Field:=19, Criteria1:="<>", Operator:=xlAnd
1670424814482.png
 

vgendron

XLDnaute Barbatruc
Bizarre, as tu changé quelque chose dans la structure de ton fichier ?? une colonne en moins par exemple..?

regarde la version ci jointe, les filtres exploitent le fait que les données sont en table structurée
j'ai mis/corrigé quelques commentaires dans ton code

pour Power Query: c'est totalement intégré dans ta version; rien à installer.
et il suffit de faire un clic droit actualiser sur le tableau final==> mais, cétait juste pour te montrer une autre piste.. je ne suis pas vraiment au point sur PQ que je découvre tout juste.
 

Pièces jointes

  • Suivi commandes EXCEL DOWNLOADS.xlsm
    63 KB · Affichages: 1

Roger36

XLDnaute Nouveau
ça fonctionne sans msg d'erreur mais le pb c'est :
- je remplie une date ou autre dans mon fichier de destination
- j'enregistre le fichier de destination
- je relance la macro dans mon fichier de suivi
- je retourne dans mon fichier de destination et là ça a recopié par dessus mes lignes déjà existante sans me garder ce que j'avais remplie et sauvegardé.

le but du fichier de destination et de servir a une personne a remplir les dates et indiqué si le matériel est reçu
 

vgendron

XLDnaute Barbatruc
je pense que tu as confondu Source et destination dans ton précédent mail.
c'est normal que les lignes "précédentes" soient écrasées;; puisque dans le code.. tu Effaces la feuille "Contrats".. (avant la partie "Filtres")

en PJ
1) le Tableau SOURCE s'appelle "Tab_BD", il est dans la feuille "Commandes CAMON")

2) la feuille DESTINATION "Contrats" est dans le meme classeur (==> il faut donc que tu décommentes les deux lignes pour que la macro prenne celle de ton fichier sur ton disque dur

3) j'ai aussi ajouté une feuille Liste (ca m'agacait d'avoir le message d'erreur car feuille introuvable)
 

Pièces jointes

  • Suivi commandes EXCEL DOWNLOADS.xlsm
    62.8 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG