Macro vérification contenu cellule

Bonjour,

je suis nouveau sur le forum et j'aurai besoin d'aide

J'ai un petit soucis dans l'élaboration d'une macro.

J'ai 2 feuilles dans mon classeur

Je voudrais rechercher dans la colonne B de la feuille 2 si la valeur qui se trouve dans la cellule A1 de la feuille 1 est présente

Je ne sais pas trop comment coder ça en VBA

Si quelqu'un sait comment s'y prendre, j'aimerais bien quelques conseils

Merci d'avance

Bonjour

Pourquoi une Macro?

Dans une cellule, tu tapes cette formule (ou tu la colles)

=SI(NB.SI(Feuil2!B:B;A1)>0;"Oui";"Non")

et tu en sauras autant qu'avec une Macro

Maintenant, si tu préféres une Macro, voici un test

Cordialement

573test-presence.zip (8.37 Ko)

Merci beaucoup pour ta réponse

La raison pour laquelle je veux une macro, c'est que ce passage fait partie d'un plus grosse macro, mais je n'arrivais pas à le faire fonctionner

Du coup, ta solution a l'air de marcher mais je ne sais pas comment l'intégrer a ce que j'ai fait.

Je t'explique la totalité du problème:

En gros, j'ai 2 feuilles dans mon classeur. Je reçois un fichier excel que je copie dans la feuille 1

Je dois ensuite vérifier si le contenu de la cellule A1 de la feuille 1 est présente dans la colonne B de la feuille 2

Si oui, je dois copier le contenu de certaines cellules de la feuille 1 sur la ligne de la feuille 2 ou est présent le contenu A1 identifié

Si non je dois repérer la première ligne vide dans la colonne B de la feuille 2 et copier les cellules sélectionnées de la feuille 1

J'ai déjà codé les différentes copies et le repérage de la 1ère ligne vide de la colonne B de la feuille 2

Là ou je bute, c'est, comme je te l'ai expliqué, pour coder la vérification de la présence du contenu de A1 feuille 1 dans colonne B feuille 2 et l'intégrer a ce que j'ai déjà fait.

Bonjour

Si, comme tu expliques, tu as déjà les Codes lorsque la condition est vraie et aussi lorsqu'elle est fausse, tu ne devrais pas avoir de difficultée à remplacer chaque ligne avec MsgBox... par ton code.

Au pire, si tu as un Code macro pour chaque condition , tu peux faire exècuter soit la première, soit la seconde macro avec l'instruction Call Macro1 et Call Macro2 (Maco1 et macro2 représentant ici le nom de tes 2 macros) en remplacement où à la suite du message de la MsgBox correspondante à la situation de la recherche (condition 1 ou condition 2)

Sinon, tu devras te résoudre à envoyer un exemple concrêt sur un fichier Excel contenant les différents Codes à intégrer.

Cordialement

Je préfère t'envoyer le fichier excel car je débute vraiment en VBA et je patauge.

Donc c'est un fichier d'essai et pas du tout l'outil définitif

Pour l'instant en gros il va chercher les valeurs qui m'intéressent dans l'onglet transfert DP et les copies dans l'onglet BDD dès qu'il détecte une ligne vide.

Je n'arrive pas a y intégrer ton code que j'ai récupéré dans ton fichier test

Quand il va récupérer le nom de fournisseur en A1, pour le copier dans la colonne B, je voudrais avant cette opération qu'il vérifie s'il n'existe pas déjà dans cette colonne B (comme je te l'ai expliqué dans le message précédent)

Cela ne doit pas être bien compliqué, mais vu mon niveau "débutant" en VBA, j'suis perdu.

Merci encore pour ton aide.

Ps: l'onglet NBRE fonctionne de la même façon mais pour des valeurs du tableau d'origine différentes.

Bonjour

Code à placer entête de ton Module (pour t'y retrouver)

Sub Tester_présence()
On Error Resume Next
Dim val As Long
val = Evaluate(WorksheetFunction.Match(Sheets("Transfert DP").Range("A1"), Sheets("NBRE").Range("$B:$B"), 0))
If Err.Number = 1004 Then
' ici, tu peux soit laisser le MsgBox et compléter et activer la ligne d'après, soit
'supprimer le MsgBox et compléter et activer la ligne d'après.
MsgBox "Ce fournisseur n'est pas présent"
'Call Chargement_BDD
ElseIf val > 0 Then
'idem ici
MsgBox "Ce fournisseur est présent à la ligne" & val
'Call nbre_cons
End If
End Sub

Si tu n'actives pas les lignes Call, tu peux laisser tes deux autres Boutons, sinon, un seul bouton d'action suffira.

Cordialement

Bonjour

Je ne me suis intéressé qu'à la 1ère macro, pas assez de données pour savoir exactement ce qu'il faut faire avec la seconde

A voir et à vérifier

Merci à tous les deux pour vos réponses.

Je pense peut être faire un mix des 2 car il y a des choses qui me plaisent dans chacune de vos deux macros

Merci encore j'essaierai de coder tout ça demain et je vous tiendrais au courant

Bonjour,

J'ai vérifié les fichiers que vous m'avez envoyé.

Banzai64, la macro que tu as faite correspond parfaitement a ce que je voulais faire! J'sais pas comment te remercier tu me sauves la vie!!!!! J'vais la modifier un peu pour l'adapter à la suite de mon boulot mais merci encore.

Merci aussi a toi Amadéus, ce que tu m'avais proposé fonctionnait parfaitement aussi!

Rechercher des sujets similaires à "macro verification contenu"