Excel et VBA

Résolu/Fermé
laurent74000 Messages postés 562 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 26 mai 2015 - 28 mars 2012 à 11:24
Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 - 29 mars 2012 à 13:38
Bonjour,

J'ai un petit souci. J'ai un fichier excel dans lequel j'ai de nombreuse feuille. Dans ce fichier je stock le nom de toutes les machines d'une entreprise (feuille1). J'ai une seconde feuille qui reprend certain de ces noms de machine (feuille2).
J'aimerai faire en sorte que lorsque je clique sur un des nom de machine dans la feuille2 cela effectue une recherche pour trouver cette machine dans la feuille1.

Cela est-il possible ? Je pensait le faire par macro ou par VBA mais je sèche un peu et le VBA sous excel et très différent du VBA sous visual studio. Help me please :)

Cordialement,
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 mars 2012 à 12:05
Bonjour,

La demande est un peu floue

Quelque soit le langage utilisé, un code est unique pour un besoin et un contexte

Prend du recul avant d'apporter ces précisions et n-oublie pas que nous n'avons que ce que tu écris pour essayer de t'aider

au besoin et en expliquant ce que tu veux faire

mettre un extrait du classeur sans données confidentielles, au format Excel 97-2003, en pièce jointe sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
0
Utilisateur anonyme
28 mars 2012 à 12:37
Je vais un peu répondre de travers...

Mais, tout simplement :

-1- Copie le nom de la machine recherché (feuil2)
-2- Ctrl + F (feuil1)
-3- Coller
-4- "Rechercher"

Sinon, si tu veux vraiment automatiser (méthode longue si beaucoup de machine mais surement moins long que la création de macro...) :

-1- Clique droit sur le nom de la machine recherché (feuil2)
-2- "Lien hypertexte"
-3- "Emplacement dans ce document" (à gauche de la fenêtre apparue)
-4- Ecrit la référence de la cellule d'arrivé et sélectionne la feuil1 dans la liste en dessous
0
laurent74000 Messages postés 562 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 26 mai 2015 81
28 mars 2012 à 14:09
La méthode automatisée est exactement ce que je cherche à faire le seul souci est que j'ai besoin de temps à autre d'ajouter des machines. Et j'aimerai que la formule puisse se faire toute seul sur cette nouvelle machine sans avoir à chercher la cellule dans la feuille1 où se trouve la référence de la machine d'où le fameux Ctrl + F automatique...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 mars 2012 à 14:18
Excuses moi d'avoir osé te demander des précisions
0
Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 226
Modifié par Submin le 28/03/2012 à 14:42
Je te propose ceci en VBA... plutot simpliste dis moi si c'est ce que tu cherche! Quand tu va clic dans la feuille2 ça vient rechercher la valeur dans la feuille 1 le terme sur lequel tu as cliqué et ça te le sélectionne


Ceci est pour detecter que tu as cliqué sur une cellule.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)  

     If ActiveSheet = Feuil2  then  
          Module1.Recherche  
     End If  
      
End Sub




Ceci est dans ton module 1 :

Option Private Module  

Public Sub Recherche()  
    Dim memo As String  
      
    memo = ActiveCell.Value  
      
    Sheets(2).Select  
    Cells.Find(What:="" & memo & "", After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _  
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _  
        False, SearchFormat:=False).Activate  

End Sub





Dis moi si c'est ce que tu recherches!
Je suis un peu prétention mais a mon avis tu vas aimer et je vais avoir le droit a mon petit +1 :D

Bonne continuation ;)
0
laurent74000 Messages postés 562 Date d'inscription mercredi 18 janvier 2012 Statut Membre Dernière intervention 26 mai 2015 81
28 mars 2012 à 15:35
C'est exactement ce que je recherche. ^^ Le seul souci c'est qu'il me met pour ce que j'dois mettre dans la cellule propriété non valide ou non gérer par cette objet ??
Je cherche de mon coté mais comme ce code a l'air d'être ce que je cherche je n'ose pas trop taper dedans...
Mais en tout cas merci je sais au moins que ce que je demande est possible. ^^
0
Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 226
Modifié par Submin le 28/03/2012 à 15:41
QUOTE ==> "Le seul souci c'est qu'il me met pour ce que j'dois mettre dans la cellule propriété non valide ou non gérer par cette objet ?? " 

Je ne comprend pas trop cette phrase, du coup j'ai du mal a comprendre ton erreur! As tu modifier le code? ou a tu mis les différente partie du code que je t'ai donné?

Le clic sur la cellule dans la feuille2 déclenche bien la macro?

J'ai testé la fonction chez moi et cela fonctionne a merveille il faut juste l'adapté a ton travail si tu as modifié quelque truc et il n'y a pas de soucis pour que je t'aide.

Faut juste que je comprenne bien le problème... N'oublie pas que nous n'avons pas ton fichier sous la main mais seuilement les explications que tu écris sur le forum et a nous d'imaginer derrière ce qui n'est pas toujours évident
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 28/03/2012 à 15:53
Faut juste que je comprenne bien le problème... N'oublie pas que nous n'avons pas ton fichier sous la main mais seuilement les explications que tu écris sur le forum et a nous d'imaginer derrière ce qui n'est pas toujours évident

C'est ce que j'avais conseillé à ce Laurent mais j'ai vraiment l'impression d'^tre ignoré voire méprisé par les intervenants de cette discussion
0
J'ai essayé marche pas non plus...

Dans le module 1 c'est bien :

Sheets(2).Select
Feuil1 plutôt non??

Tu n'as pas fait d'erreur de retranscription ?
0
Submin Messages postés 382 Date d'inscription vendredi 2 mars 2012 Statut Membre Dernière intervention 1 avril 2016 226
Modifié par Submin le 28/03/2012 à 16:17
Excuse moi tu as raison :)

Moi j'effectué lme test en me mettant sur la feuille 3 et en recherchant sur la feuille 2

Il faut donc que tu mettes
Sheets(1).Select 

et la ça devrait etre bon :s

Désolé pour l'erreur
0