Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Re-Soustraire des listes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

modus57

XLDnaute Occasionnel
Bonjour Porcinet82, bonjour le forum

J'ai des valeurs en colonnes A et B de la Feuil1 et des valeurs en colonnes A et B de la Feuil2. Je voudrais lister les valeurs qui se trouvent dans la colonne A de la Feuil1 mais pas dans la colonne A de la Feuil2 et les ajouter en colonne A et B de la Feuil2.

Porcinet82 m’a répondu voir fil du 31/08/2006.
Essaye avec le code suivant et ça devrait le faire :

Sub extrait()
For Each Cel In Worksheets("Feuil1").Range("A1", [A1].End(xlDown))
Set Cherch = Worksheets("Feuil2").Range("A:A").Find(Cel)
If Cherch Is Nothing Then
Worksheets("Feuil2").Columns(1).Find("*", , , , , xlPrevious).Offset(1, 0) = Cel
Worksheets("Feuil2").Columns(1).Find("*", , , , , xlPrevious).Offset(0, 1) = Cel.Offset(0, 1)
End If
Next
End Sub


Son code fonctionne bien mais je souhaiterais en plus dans la colonne C de la Feuil2 copier et coller le champ nommé <NomZone>.
Ma syntaxe ne fonctionne pas pourquoi ?

Sub extrait()
For Each Cel In Worksheets("Feuil1").Range("A1", [A1].End(xlDown))
Set Cherch = Worksheets("Feuil2").Range("A:A").Find(Cel)
If Cherch Is Nothing Then
Worksheets("Feuil2").Columns(1).Find("*", , , , , xlPrevious).Offset(1, 0) = Cel
Worksheets("Feuil2").Columns(1).Find("*", , , , , xlPrevious).Offset(0, 1) = Cel.Offset(0, 1)
ThisWorkbook.Worksheets("Feuil1").Columns(1).Find("*", , , , , xlPrevious).Offset(0, 2).Select
Range(NomZone).Copy
ActiveSheet.Paste
End If
Next
End Sub

Qui pourrait m’apporter une solution.
Merci d’avance @ +
 
Re : Re-Soustraire des listes

Salut Modus,

Je ne suis pas sur d'avoit tout saisie. Ton NomZone, c'est une seule cellule ou c'est une plage?
Si c'est une seule cellule, je suppose qu'on ne peut pas nommer plsusieurs cellule avec le meme nom, donc la macro va planter a un moment donné.
Si il s'agit d'une plage de cellule que tu veux copier une seule fois seulement, il ne faut pas que tu mettes le code dans la boucle.

Donne nous plus d'info et pourquoi pas un fichier joint afin que l'on puisse mieux t'aider.

@+
 
Re : Re-Soustraire des listes

Re suite de mon message,

Te fatigue pas j'ai trouvé l'erreur, la syntaxe Range(NomZone).Copy est fausse il faut écrire Range("NomZone").Copy

C'est tout simple
Merci pour ton aide et bon WE
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
913
Réponses
4
Affichages
586
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…