Remplacer ligne d'un classeur si valeur d'un autre classeur existe

TOINE38

XLDnaute Occasionnel
Bonsoir à tous,

Je me permets de vous solliciter pour un probleme qui me bloque dans l'application que j'essaye de créer pour mon employeur.

J'ai un classeur A avec une ligne contenant un chiffre en A1
Je souhaiterais créer une macro qui va rechercher ce chiffre du classeur A dans un classeur B à la feuille "Data"
- Si le chiffre existe alors la macro remplace toutes les données de la ligne du classeur B par celle du classeur A
- Si le chiffre n'existe pas la macro copie la ligne du classeur A dans le classeur B en A2

En esperant avoir un petit coup de pouce pour résoudre mon problème.



Milles merci

Toine 38
 

Gareth

XLDnaute Impliqué
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Bonsoir,

Ci-joint un exemple à tester.
Les 2 fichiers doivent etre ouverts pour le test
 

Pièces jointes

  • A.xlsm
    19.5 KB · Affichages: 32
  • A.xlsm
    19.5 KB · Affichages: 34
  • A.xlsm
    19.5 KB · Affichages: 32
  • B.xlsx
    8.9 KB · Affichages: 34
  • B.xlsx
    8.9 KB · Affichages: 34
  • B.xlsx
    8.9 KB · Affichages: 35

TOINE38

XLDnaute Occasionnel
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Bonsoir Gareth,

Merci pour les 2 fichiers joints, mais c'est l'inverse que je souhaiterais.
C'est à dire que je n'ai qu'une seule ligne dans le classeur A et lorsque la valeur de la cellule A2 du classeur A existe dans la colonne A du claseur B alors je recopie toute la ligne du classeur A en lieu est place de celle du classeur B

J'ai essayé de rectifier ton code, mais mes conaissances en VBA sont trés nulle.

Merci si tu as une idée

Toine 38
 

Gareth

XLDnaute Impliqué
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Re,

Voir la version adaptée ci-jointe.
(d'où l'interet de fournir un exemple ;))
 

Pièces jointes

  • A.xlsm
    19.8 KB · Affichages: 49
  • A.xlsm
    19.8 KB · Affichages: 56
  • A.xlsm
    19.8 KB · Affichages: 42
  • B.xlsx
    8.6 KB · Affichages: 39
  • B.xlsx
    8.6 KB · Affichages: 46
  • B.xlsx
    8.6 KB · Affichages: 43

TOINE38

XLDnaute Occasionnel
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Re Bonsoir Gareth,

Merci pour ton aide, c'est tres sympha.
J'a testé tes fichiers, mais j'ai une erreur qui s'affiche lorsque je veux executer la macro :
"Erreur d'execution 9, l'indice n'appartient pas à la sélection"

Je ne comprends pas ce message

Merci

Toine 38
 

camarchepas

XLDnaute Barbatruc
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Bonsoir,

Juste que le classeur à changé de nom donc la macro ne trouve pas ce classeur

Voici le correctif
Code:
Sub Test()

Set c = Workbooks("B-1.xlsx").Sheets("Data").Columns("A:A").Find(ThisWorkbook.Sheets("Feuil1").Range("A2").Value)
If Not c Is Nothing Then ThisWorkbook.Sheets("Feuil1").Range("A2").Resize(1, ThisWorkbook.Sheets("Feuil1").Range("A2").CurrentRegion.Columns.Count).Copy c
End Sub
 

camarchepas

XLDnaute Barbatruc
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Bonsoir Gareth,

comme on a déjà chargé les premiers fichiers, lorsque l'on recharge les suivant , au lieu d'écraser, excel à renommé les fichiers.

Et oui bizard , mais c'est ben vrai
 

TOINE38

XLDnaute Occasionnel
Re : Remplacer ligne d'un classeur si valeur d'un autre classeur existe

Bonsoir Camarchepas et Gareth,

Merci pour vos informations c'est exactement ce que je souhaitais.
C'est super sympha d'avoir consacré du temps à m'aider.

Amicalement

Toine38
 

Discussions similaires

Statistiques des forums

Discussions
312 932
Messages
2 093 726
Membres
105 799
dernier inscrit
lahrech_hassan