× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Formule Excel ? [Resolu Merci]
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
dos1
  Posté le 30/11/2004 @ 10:15 
Aller en bas de la page 
Petit astucien
Bonjour, [smile] Pour les Pro d'excel, y'aurai t-il une formule qui me permet de rechercher simultanement sur plusieurs feuilles d'un fichier excel un mot qui se trouve dans une cellule donner, "A7" par exemple. Remarque : je souhaite rechercher ce mot qu'a la cellule A7 de toutes les feuilles du classeur. Merci pour votre aide.

Modifié par dos1 le 05/12/2004 07:56
Publicité
dos1
 Posté le 01/12/2004 à 05:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Apparrement une telle formule n'existe pas, Cepandant existe-t-il un code VBA qui me permet de faire ce travaille. [hello]
galopin01
 Posté le 02/12/2004 à 07:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Bonjour, Sub Test() Dim recherche recherche = "MonArgumentDeRecherche" For i = 1 To Worksheets.Count With Worksheets(i).Range("a7") Set Y = .Find(recherche) If Not Y Is Nothing Then MsgBox Worksheets(i).Name End With Next End Sub A+
dos1
 Posté le 04/12/2004 à 06:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour galopin01, Merci pour ta reponse, mais tu pourrai m'expliquer un peu en détail les étapes que je dois accomplir car je ne suis qu'un débutant. Merci encore.
galopin01
 Posté le 04/12/2004 à 06:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Bonjour, Est-ce que tu as déjà mis le nez dans VBA ? Si tu as un minimum de pratique, il suffit de créer un nouveau module et de coller la macro que je t'ai donné ( en modifiant "MonArgumentDeRecherche" ) avec ton critère personnel. Malheureusement, si tu n'as aucune pratique de VBA, je ne peux rien pour toi pour l'instant : c'est un sujet trop volumineux pour être traité sur le forum. A mon avis, il faut commencer par la case librairie... A+
galopin01
 Posté le 04/12/2004 à 06:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Re... Un référence solide sur le sujet : [url]http://www.eyrolles.com/Informatique/Livre/9782212114324/livre-vba-pour-excel-2003.php[/url] Il ne manque pas de sites internet qui peu ou prou tentent de te mettre le pied à l'étrier, mais à mon avis le meilleur moyen c'est quand même le livre. Cordialement.
dos1
 Posté le 04/12/2004 à 10:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Je connais un peu vba mais sur Access plutot, c'est la premiere fois que je l'utilise sur Excel donc je suis un peu perdu. Mais merci pour ton aide precieuse.
galopin01
 Posté le 04/12/2004 à 14:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Re, Si tu connais un peu VBA alors on va tenter rapidement. Je te le fais en petit nègre et de mémoire... A partir de ton classeur Excel, tu fais Alt + F11, ce qui équivaut à Outils / Macro /Visual Basic Editor Une fois dans VBA si tu n'a encore touché à rien tu as juste un menu et la barre d'outils standart. Tu fais affichage Explorateur de Projet il s'ouvre une fenêtre sur la gauche de l'écran qui montre toutes les feuilles de ton classeur + ThisWorkbook Ces feuilles et ThisWorkbook contiennent les macros événementielles prédéfinies dans VBA. (Quand_Change, quand_activate, auto_open...)On ne s'y intéressera pas. Nous allons créer un nouveau module avec un clic droit dans l'explorateur de projet : Insertion / Module Normalement Module1 apparait dans l'explorateur de projet En même temps une page de code vierge apparait sur le coté droit de l'écran. (Sinon DoubleClic sur Module1) Dans cette fenêtre de code tu colles la Macro que je t'ai donné en modifiant "MonArgumentDeRecherche" par la valeur appropriée. C'est tout. Tu retournes dans Excel par Alt + F11 sur n'importe quelle page et tu exécutes la macro avec Outils / Macro / Macros /Exécuter C'est bon ? Je recommande toujours aux novices de ne pas bricoler dans les 3 derniers menus de droite : Outils/Compléments/Fenêtre et de ne pas toucher à la coche Ancrage de certaines fenêtres. c'est une précaution qui t'évitera bien des galères : Dans cette galère c'est toi le rameur et la destination est la base de registre de Windows... Ah ! Encore une chose. Si tu es embarqué dans une boucle infernale... (Ctrl + Pause) interrompt une macro en cours ! A+
dos1
 Posté le 04/12/2004 à 16:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Ca marche à merveille galopin01 MERCI Ecoute si ce n'est pas trop te demander je voudrais utiliser le nom de la feuille que ton code me renvoie en MSGBOX dans une formule excel (à la cellule "B8" par exemple).
Publicité
galopin01
 Posté le 04/12/2004 à 17:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Bonsoir, En supposant que tu veux cela dans la Feuille 1 A la place de MsgBox tu mets : If Not Y Is Nothing Then Worksheets(1).Range("B8").Value = Worksheets(i).Name (cela suppose qu'il n'y a qu'un seul résultat à ta recherche) A+
dos1
 Posté le 05/12/2004 à 04:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour, je me suis un peu documenté sur internet et je crois que j'ai bien saisie quelque notions. Si je veux que ton code s'execute au demarrage de mon fichier, je dois le copier dans ThisWorkbook et choisir Workbook_Open(), j'ai essayé et ca marche. Mais comment pourrais-je garder le nom de la première feuille trouver dans le cas ou il y a plusieurs solutions ? Car Maintenant le code me renvoie le nom de la dernière feuille trouver.
galopin01
 Posté le 05/12/2004 à 06:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Bonjour, Oui, c'est un peu cela. Personnellement je te conseillerai plutôt de créer cette nouvelle macro dans ThisWorkbook : [code]Private Sub DLkUp() Dim recherche, Z$ recherche = "MonArgumentDeRecherche" For i = 1 To Worksheets.Count With Worksheets(i).Range("a7") Set Y = .Find(recherche) If Not Y Is Nothing Then Z = Z & "; " & Worksheets(i).Name End With Next Worksheets(1).Range("B8").Value = Z End Sub[/code] ...et de l'appeler ensuite dans : [code]Private Sub Workbook_Open() DLkUp End Sub[/code] Cela donne un code mieux structuré, qui te permettra de mieux suivre ce qui se passe dans ton Workbook_Open quand tu auras rajouté plein de trucs et de faire des modifs plus facilement. A+

Modifié par galopin01 le 05/12/2004 06:37
dos1
 Posté le 05/12/2004 à 07:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
je fais comme tu m'a décris et ca marche sauf que j'ai changer le Private Sub DLkUp() par Public Sub DLkUp() car j'ai obtenu une erreur de compilation "SUB ou Fonction non définie". Mantenant le code me rend le nom de toutes les feuilles repondant au critère. je vais essayer de modifier un peu pour obtenir la première page seulement. Merci
galopin01
 Posté le 05/12/2004 à 08:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
Bonjour, Si si ça marche avec Private Sub DLkUp : Si tu mets les 2 macros dans ThisWorkbook. Le principal interet est de rendre DLkUp invisible pour le reste du projet. En particulier avec Private tu ne la vois plus depuis Excel / Outil / Macro... Pour avoir la première page seulement : [code]Private Sub DLkUp() Dim recherche recherche = "MonArgumentDeRecherche" For i = 1 To Worksheets.Count With Worksheets(i).Range("a7") Set Y = .Find(recherche) If Not Y Is Nothing Then Worksheets(1).Range("B8").Value = Worksheets(i).Name Exit For End If End With Next End Sub[/code] A+

Modifié par galopin01 le 05/12/2004 08:30
dos1
 Posté le 05/12/2004 à 08:45 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Tu as raison je l'avais mis dans deux pages differentes dans thisworkbook et dans le module,c'est pour ca que le compilateur m'affichais une erreur car il ne trouvais pas la fonction que j'appellais dans la meme page. j'obtiens la première feuille que je voulais. Merci Galopin01 grâce à toi j'ai trouvé mon bonheur.

Modifié par dos1 le 05/12/2004 08:46
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
29,99 €Carte mémoire microSDXC UHS-I SanDisk Ultra 200 Go à 29,99 €
Valable jusqu'au 13 Juillet

Amazon fait une promotion sur la carte mémoire microSDHC UHS-I SanDisk Ultra 200 Go qui passe à 29,99 € livrée gratuitement. On la trouve ailleurs à partir de 40 €. Cette carte mémoire offre des vitesses jusqu'à 90 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD. Elle est certifiée GoPro, Switch et est accompagnée d'un adaptateur SD. Une très bonne affaire.


> Voir l'offre
20,99 €Micro clé USB 3.1 Sandisk Ultra Fit 128 Go à 20,99 €
Valable jusqu'au 12 Juillet

Amazon fait une promotion sur la micro clé USB Sandisk Ultra Fit d'une capacité de 128 Go qui passe à 20,99 €. La minuscule taille de cette clé USB va vous permettre de la laisser brancher en permanence sur votre portable, votre TV ou votre autoradio sans qu'elle dépasse de manière disgracieuse. Sa compatibilité USB 3.1 lui permet d'atteindre des débits jusqu'à 130 Mo/s. 


> Voir l'offre
40,99 €Casque bluetooth à réduction de bruit TaoTronics CVC 8.0 à 40,99 € (via coupon)
Valable jusqu'au 10 Juillet

Amazon fait une promotion sur le casque bluetooth 5.0 à réduction de bruit TaoTronics CVC 8.0 qui passe à 40,99 € livré gratuitement en activant le coupon de réduction sur la page du produit. Ce casque offre une réduction active qui atténuera le bruit extérieurs pour vous plonger dans vos chansons préférées. Le casque offre une autonomie de 30 heures. Grâce à sa charge rapide, 5 minutes de charge suffisent pour obtenir 2 heures de son complet


> Voir l'offre

Sujets relatifs
Formule excel (Résolu merci g)
"Résolu - Merci" Excel et les tranches horaire.
Formule Excel (Résolu)
Comment creer une formule excel ? RESOLU
Excel - Trier par couleur [RESOLU - MERCI ! ]
Formule Excel SVP (Résolu)
Formule Excel Résolu
Excel pb pourcentage et formule (résolu)
Excel: formule (si et ou) - Résolu
question sur excel (Résolu) merci
Plus de sujets relatifs à Formule Excel ? [Resolu Merci]
 > Tous les forums > Forum Bureautique