SI et RECHERCHEV dans VBA
Résolu
farreneit
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
farreneit Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
farreneit Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je suis désolé mais je refais appel à votre génie !
Je souhaiterais ajouter une partie à une de mes macros.
Le but est de verifier dans une colonne si le contenu (texte) d'une cellule d'une autre feuille est présente. Si ce n'est pas le cas, il faut que le contenu soit ajouter dans la colonne en dessous du dernier mot, sinon ne rien faire.
Bien entendu, la plage où est contenu les mots s'agrandit au fur et à mesure.
Je vous transmets un fichier simplifié qui illustre ma demande. : https://wetransfer.com/downloads/cf0885fe6494e61a3a3f59645df0355b20210103203814/167d37
S'il est possible de me donner une toute petite explication afin que je sois capable de le réaliser par moi même la prochaine fois sans avoir à vous embetter se serait génial !
Merci d'avance !
Bien à vous
Je suis désolé mais je refais appel à votre génie !
Je souhaiterais ajouter une partie à une de mes macros.
Le but est de verifier dans une colonne si le contenu (texte) d'une cellule d'une autre feuille est présente. Si ce n'est pas le cas, il faut que le contenu soit ajouter dans la colonne en dessous du dernier mot, sinon ne rien faire.
Bien entendu, la plage où est contenu les mots s'agrandit au fur et à mesure.
Je vous transmets un fichier simplifié qui illustre ma demande. : https://wetransfer.com/downloads/cf0885fe6494e61a3a3f59645df0355b20210103203814/167d37
S'il est possible de me donner une toute petite explication afin que je sois capable de le réaliser par moi même la prochaine fois sans avoir à vous embetter se serait génial !
Merci d'avance !
Bien à vous
A voir également:
- SI et RECHERCHEV dans VBA
- Excel compter cellule couleur sans vba - Guide
- Recherchev contient ✓ - Forum Excel
- Recherchev texte ✓ - Forum Excel
- Recherchev ne renvoie pas la bonne valeur ✓ - Forum Excel
- Vba attendre 1 seconde ✓ - Forum VB / VBA
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
un exemple:
un exemple:
Sub frnt() Dim source As Range, dest As Range, dico As Range, tmp As Range, val As Range Set source = ThisWorkbook.Sheets("Sheet1").[d8] Set dico = ThisWorkbook.Sheets("Sheet2").[e:e] Set tmp = Intersect(ThisWorkbook.Sheets("Sheet2").UsedRange, dico) Set dest = ThisWorkbook.Sheets("Sheet2").Cells(tmp.Row + tmp.Rows.Count, "e").End(xlUp).Offset(1) For Each val In source If dico.Find(val) Is Nothing Then dest = val Set dest = dest.Offset(1) End If Next val End Sub
Je ne sais pas trop pourquoi mais cela fonctionne ahah.
Admettons que en dessous de la cellule D8 je possède un autre mot lié à celui en D8. Il y a t'il une méthode facile pour que cette valeur soit ajoutée à droite de la cellule où est ajoutée le nouveau mot (à droite de dest) ?
Voici le fichier modifié : https://wetransfer.com/downloads/fcc1dd2879686aaa7bfc8cc82da4ab9f20210104085319/b11310
Si c'est possible d'avoir une rapide explication du code se serait top !
Merci d'avance !
as-tu une question à propos du code?
comprends-tu le langage VBA?
Je ne suis pas un expert en VBA, j'esaye de m'en sortir avec ma logique, mes recherches et mes bases dans les autres languages de programmation.
Si je décortique ton exemple :
--> Création de variables
--> je donne à la variable "source" la valeur de D8
--> je donne à dico la valeur de la colonne E (je ne savais pas qu'il était possible de faire rentrer une plage de donnée dans une variable)
--> c'est la que je me perds.
--> faire que la variable dest soit affichée en dessous du tableau
En réalité c'est aussi cette ligne qui me pose problème.
Merci
l'intuition ne remplace pas la connaissance.
tu devrais étudier:
- ce que fait
- ce qu'est une variable de type
- ce que fait
- ce que fait
Dans une grande partie des cas j'arrive à m'en sortir, toutefois lorsqu'il y a trop de paramètres que je ne maitrise pas cela ne fonctionne plus ..
Encore merci pour ton aide, je vais me renseigner sur ces différents sujets lorsque j'aurais un moment.
Bien à toi !