Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel [ Divers / General ] (MagicDoctor)

mardi 18 décembre 2007 à 23:27:44 | Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MagicDoctor

Bonsoir à tous, Je voudrais, au moyen d'une macro savoir si une certaine valeur, par exemple "zaza" se trouve dans une colonne d'un tableau d'une feuille d'Excel. En d'autres termes, je voudrais que la macro analyse son contenu et vérifie si une certaine valeur s'y trouve. Merci pour toute réponse.

mardi 18 décembre 2007 à 23:51:14 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MPi

Regarde la fonction Find dans ton aide.
C'est comme faire une recherche à l'aide du menu (Ctrl-F)

MPi²

mercredi 19 décembre 2007 à 00:07:22 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

bigfish_le vrai

Salut,

tu as pas du chercher ou essayer longtemps pour nous poser une question pareil !

Aujourd'hui, y a une personne plus avancée que toi qui a posée une question sur le sujet, en d'autre terme elle a essayée . Comme je veux pas te macher le boulot je te donne juste le sujet :

Sujet : fonction find prenant en compte 2 critères entrés dans des combobox.

Vas voir j'y ais poser un bout de code qui fait exactement ce que tu cherches.

Et STP ne soit pas susceptible a propos de ce que je t'ais dit plus haut. Tu peux revenir si tu as un probleme.
Je te repondrais mais essaye.

En faite j'arrive pas a etre aussi dure que les grandes pontes de ce site ^^... Dite les gars, il faut combien de temps pour y arriver ?

A+
Philippe


mercredi 19 décembre 2007 à 00:20:25 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MPi

Salut BigFish,

Il ne faut se tromper entre la fonction Find et la fonction de tri (Sort)
Find n'a besoin que d'un seul critère: le mot ou chiffre à rechercher.

Et il n'y a pas de raison d'être dur, comme tu dis. Quand tu en es rendu à ce point, il est peut-être temps de prendre une pause...

Et si j'en crois son origine (Uruguay), il est probablement plus facile de se procurer des sarbacanes que des livres VBA

MPi²

mercredi 19 décembre 2007 à 00:46:43 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

bigfish_le vrai

Salut MPi,

non non, je ne confonds pas lit le sujet... et puis je te met le bout code ici ce sera mieux qu'un long discour.

Sub essai()
    Dim macelule As Range, maligne As Single, lastvalue As Single, Nom As String
    lastvalue = Range("A:A").Find("*", [a1], , , xlByRows, xlPrevious).Row
    For Each macelule In Range([a1], Cells(lastvalue, 1))
    On Error Resume Next
    Nom = Left(macelule.Value, Application.Search(" ", macelule.Value, 1) - 1)
    If  Nom = mavaleur1 Then 'dans ce if tu met un deuxieme if pour verifier la deuxieme valeur (le prenom par exemple)
            maligne = macelule.Row
            MsgBox maligne 
            Exit For
        End If
    Next
End Sub


la variable "mavaleur1" peu venir de n'importe ou une celule, une textebox, une combobox, etc. ici l'interet est que tu peux chercher plusieurs valeur dans une meme celule (dans le if existant).
mais effectivement pour une seul valeur on peu faire plus simple comme:

pour chercher un nom par exemple, si la celule contient le nom et le prenom avec un espace entre les 2

Sub essai()
    Dim maligne As Single, Nom As String
    Nom = Left(mavaleur1, Application.Search(" ", mavaleur1, 1) - 1)
    maligne = Range("A:A").Find(Nom, [a1], , , xlByRows, xlPrevious).Row
    MsgBox maligne 
End Sub

Et desolé si finalement je parait dure cela n'etait pas mon intention.

A+

Philippe

mercredi 19 décembre 2007 à 01:28:50 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MPi

Re-salut,

J'ai bien vu le sujet et il me semble que MagicDoctor recherche une valeur dans une feuille et non pas dans une cellule (?)

De là ma suggestion d'utiliser Find qui ne prend qu'un critère (et je répète... ou je radote (?) )

Le critère dont je parle est en bleu
La recherche se fait dans la colonne A, ici...
Dim Recherche As Range
Set Recherche = Columns("A").Find(MaValeur, LookIn:=xlValues, LookAt:= xlPart)
If Not Recherche Is Nothing Then
    Msgbox "Trouvé à l'adresse " & recherche.Address
    'Msgbox "Trouvé à la ligne " & recherche.Row
    'Msgbox "Trouvé dans la colonne " & recherche.Column
End if

MPi²

mercredi 19 décembre 2007 à 02:01:54 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

bigfish_le vrai

... non non MPi ! ni tu te repetes ni tu radotes
on dit la meme chose.

Tu as raison une fonction find fait tres bien l'affaire et c'est bien une fonction find que j'utilise dans mon deuxieme bout de code. Comme tu peux le voir je cherche dans la colonne A une valeur Nom mais je lui
ai juste ajouté la possibilité de faire une recherche sur les celules d'une colonne qui contiendrais un nom et un prenom separés par un espace puis je renvois via une msgbox le numero de la ligne qui contient la valeur recherchée.

Enfin pour etre plus precis quand j'ai dit regarde le sujet il ne s'agissait pas du present sujet mais du sujet que j'ai suggeré a MagicDoctor.

Et encore une fois desolé de la confusion et de l'emcombrement de ce sujet.

Amicalement

Philippe


mercredi 19 décembre 2007 à 02:15:36 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MPi

J'ai vu que tu utilises Search que je n'utilise jamais...
Ç'a chatouillé un mes de mes 2 neurones. Je vais m'y attarder un peu...

Bonne fin de soirée ou bonne nuit (?)

MPi²

mercredi 19 décembre 2007 à 13:52:41 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MagicDoctor

Réponse acceptée !
Bonjour à tous et merci de vos réponses J'ai essayé la solution de MPi sur Excel (puisque je travaille dans cet environement), malheureusemet, chaque fois la macro plante, et toujours le même message d'erreur (Err. 13). Les types ne coïncideraient pas... (enfin c'est ce que dit mon programme en espagnol, puisque je suis en Uruguay) Apparemment il y a un problème avec la fonction "Find". Pour être plus précis, voilà exactement ce que j'avais écrit : 'je cherche si "Julie" se trouve dans la colonne "JamaisContente" Sub test() Dim Recherche As Range, MaValeur As String MaValeur = "Julie" Set Recherche = Columns("ColonneJamaisContente").Find(MaValeur, LookIn:=xlValues, LookAt:=xlPart) If Not Recherche Is Nothing Then MsgBox "Trouvé à l'adresse " & Recherche.Address 'Msgbox "Trouvé à la ligne " & recherche.Row 'Msgbox "Trouvé dans la colonne " & recherche.Column End If End Sub

mercredi 19 décembre 2007 à 22:56:08 | Re : Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel

MPi

L'erreur provient du nom de la plage ou de la colonne que tu as mis ("ColonneJamaisContente")

Essaie plutôt avec la lettre de la colonne entourée de guillemets ("A") ou son Index (1) sans guillemets.

MPi²



Cette discussion est classé dans : macro, excel, valeur, tableau, trouve


Répondre à ce message

Sujets en rapport avec ce message

macro excel [ par arpelilo ] bonjourje cherche a creer une macro  dans laquelle je doisrecuperer la valeur d une celluleouvrir une recherche y mettre la valeur de ma cellule et va Vba sous excel: recherche de date pour remplacer une valeur [ par mike1788 ] Bonjour <p class="MsoNorma Macro sous excel [ par kevzizou ] Bonjour à tous, voilà, étant débutant dans le domaine de l'informatique, mais m'y interssant tres vivement, je souhaiterais avoir un petit coup de mai vba excel [ par zazou10 ] je vous explique mon probleme :j'ai un tableau excel, dans une des colonnes il faut que je rechercher une phrase mot par mot, qui se trouve dans un au macro excel et valeur cellule ;-) [ par bodbod ] Je suis la pour apprendre :-)Bonjour a tous, c'est encore moi qui est de passage.J'aurai voulais savoir si qq'un me donner des detail pour executer au sélection de 20 lignes sur excel [ par bolley_c_d_m ] bonjour,je dois faire un macro sur excel qui me permette de selectionner les 20 dernières lignes d'un tableau composé de 5 colonnes.en fait, j'ai un t MACRO EXCEL POUR DUPLIQUER UNE LIGNE EN FIN DE TABLEAU [ par babcylrouge ] Bonjour,J'ai crée cette macro avec l'assistant. Le but est de sélectionner dans la colonne A une référence alpha num, de sélectionner la ligne et de l excel : récupération valeur d'un graph [ par mkits ] Bonjour,suite à différentes mesures relevées, j'ai créé un tableau, puis à partir de ce tableau une courbe (graph)... j'utilise un double décimètre et VB sous excel et gestion de variables ! Important, merci! [ par frosenfeld ] Bonjour a tous, et merci de votre aide! Ma question est la suivante: comment faire sous excel pour pouvoir modifier la valeur de certaines cellules Allocation valeur a variable sous excel avec macro vb running [ par frosenfeld ] Bonjour a tous, je me suis plante de categorie alors je reposte ici, desole c'est pas du spam, et merci de votre aide! Ma question est la suivante:


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.