Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déplacer une Macro

thomashty

XLDnaute Occasionnel
Bonjour le forum,

J'aimerais déplacé ma macro de la feuille 1 à la feuille 2. Mais je n'arrive pas à le faire, ça ne fonctionne pas comme je le voudrais.

Ma barre de recherche est dans la feuille 1, elle cherche dans le tableau feuille 1 et affiche les résultats dans le tableau de résultat de la feuille 1. Mais je ne veux pas que les utilisateurs aient accès à la feuille 1, donc je voudrais qu'ils tapent leur recherche dans la feuille 2 et qu'elle s'affiche sous forme de tableau dans la feuille 2.
Et ce pour éviter qu'ils voient l'anarchie présent en feuille 1

Merci à tous !!

Document Cjoint
 

Nairolf

XLDnaute Accro
Re : Déplacer une Macro

Salut,

Pour faire référence à une autre feuille dans un code vba il faut que tu ajoutes Worksheets("nom_onglet").

Quand tu omets de spécifier Worksheets(). vba interprète en ActiveSheet.
 

thomashty

XLDnaute Occasionnel
Re : Déplacer une Macro

Merci pour ta réponse Nairolf,

malheureusement je ne suis pas sûr de bien comprendre...



Ces dans les lignes rouges ci dessus que je dois ajouter la notion de worksheet ?
 

Pièces jointes

  • Capture.jpg
    36.4 KB · Affichages: 32

Iznogood1

XLDnaute Impliqué
Re : Déplacer une Macro

Bonjour,

de quoi parles tu ?
Le "nom de feuille" de ton onglet "Feuil1" est "Feuil2"
et celui de "Feuil2" est "Feuil1" !

Pourrais-tu renommer tes onglets defaçon plus "parlante" et remettre un exemple en fichier joint (en utilisant "Mode avancé" de ce forum) plutôt qu'un cjoint ?
 

thomashty

XLDnaute Occasionnel
Re : Déplacer une Macro

Bonjour,
J'essaye d'être plus clair :
J'ai fait une sorte de "bêta" de mon outil afin de tester mon système de recherche pour voir s'il fonctionnait comme je le voulais.
C'est le cas, désormais je veux le déplacer dans la feuille "Zone de recherche", pour ne pas que l'utilisateur ait accès à la feuille "liste de documents".

J'espère avoir été plus clair, malheureusement pour la PJ elle est trop lourde...

Remis à jour : Document Cjoint
 

Nairolf

XLDnaute Accro
Re : Déplacer une Macro

Re,

Dans le cas de la première ligne surlignée, il faudrait mettre:
Code:
If Not sansAccents(Worksheets("Liste de documents").Cells(ligne, 18)) Like "*" & sansAccents(Tablo(I)) & "*" Then Exit For
 

Nairolf

XLDnaute Accro
Re : Déplacer une Macro

Plusieurs choses à faire pour que cela fonctionne :

1/ mettre la fonction public sansaccent() dans un module
2/ copier le code de la feuil1 dans la feuil2 en ayant bien ajouté Worksheets("Liste de documents"). à toutes les plages de cellules


PS: je suis surpris que ton fichier avec si peu de données soit si imposant.
 

thomashty

XLDnaute Occasionnel
Re : Déplacer une Macro


Tu fais bien de me le dire, ca me paraissait bizarre aussi, je l'ai refais et ajouté ton point 2. Mais le point 1 je n'ai pas réussi...
Je le remet en PJ !
 

Pièces jointes

  • Outil de capitalisation V2.xlsm
    60.5 KB · Affichages: 32
  • Outil de capitalisation V2.xlsm
    60.5 KB · Affichages: 39

thomashty

XLDnaute Occasionnel
Re : Déplacer une Macro

Salut,

Je te renvoie ton fichier avec les modifications que je t'avais indiquées.

Bonjour Nairolf, merci pour votre retour !

Juste 2 choses
- Ça fonctionne pour TOUT (je pense) sauf quand je tape "appareil d'appui" ou même "app.." dans la barre de recherche, c'est étrange.. Est ce que vous avez une idée de pourquoi ?

-Ensuite, j'aurai voulu que les résultats s'affichent dans le tableau de la feuille "zone de recherche", étant donné que les utilisateurs n'auront pas accès à la feuille "liste de documents". Est ce que c'est faisable ? Il faut que chacune des colonnes de mon tableau soit en 'Listbox' j'imagine...

Merci encore
Thomas
 

Nairolf

XLDnaute Accro
Re : Déplacer une Macro

Je ne comprends pas pourquoi ça ne marche pas chez toi avec "app", car je n'ai pas le même problème, comme tu dis, c'est étrange.

Pour l'autre partie de ta demande, il y a plein de solutions possibles, l'une d'entre elles :
Ajoute le code suivant après ListBox1.AddItem Worksheets("Liste de documents").Cells(ligne, 18).
Code:
        Worksheets("Zone de recherche").Cells(28 + j, 16) = Worksheets("Liste de documents").Cells(ligne, 18)
        Worksheets("Zone de recherche").Cells(28 + j, 19).Formula = "=HYPERLINK('Liste de documents'!" & Worksheets("Liste de documents").Cells(ligne, 22).Address & ")"
        j = j + 1

Il faut aussi mettre j = 0 après la déclaration des variables.
Je n'ai rempli que 2 cases, à toi d'adapter pour remplir les autres cases.
Il faudrait sans doute rajouter un Range().clearcontents afin d'effacer les cellules à chaque saisie.
 

thomashty

XLDnaute Occasionnel
Re : Déplacer une Macro



Précisément, ça ne fonctionne pas avec les 3 premières lignes du tableau...
Merci pour votre code, j'essaye ça de suite

Cordialement
TH
 

thomashty

XLDnaute Occasionnel
Re : Déplacer une Macro

Je n'ai pourtant rien touché, et la recherche s'effectue par colonne c'est donc bizarre que seulement 3 lignes de cette colonnes soient ignorées...

Je sens qu'on touche le but !! Je vous laisse regarder, mais ça me plaît bien

Vous me retirez une grosse épine du pied je suis vraiment content
 

Pièces jointes

  • Copie de deplacer-une-macro-outil-de-capitalisation-v2_Nairolf-1.xlsm
    60.4 KB · Affichages: 32

Discussions similaires

  • Question
Microsoft 365 Offset
Réponses
5
Affichages
499
Réponses
6
Affichages
272
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…