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

Recherche d'un objet

  • Initiateur de la discussion Initiateur de la discussion chlagvuk
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chlagvuk

XLDnaute Nouveau
Bonjour à tous,

Il y a à peine trois semaines, virtual Basic m'était totalement inconnu et lorsque l'on ma demander pour mon stage de créer un programme sous excel et bien je me suis attelé à la tâche et donc la découverte de grand univers, pas si compliqué que ça au final.

... Pas si compliqué, mais quand même (sinon je ne serais pas là) 😱

Je possède une feuille qui affiche des informations sur un salarié. Ces informations changent en fonction du salarié que l'on a choisit au préalable mais la feuille reste la mêm (pour les besions de l'enquête nous l'apellerons Salarié). Pour chaque salarié il y a 6 objets OLE (Carte d'indentié, carte vitale, ...) avec comme nom pour chacun :
"CNI_NomSalarié_PrénomSalarié"
"VITALE_NomSalarié_PrénomSalarié"
...

Etant donnée que la feuille salarié est la même, mais que la salarié change, on se retourve avec beaucoup d'objets sur une même feuille. J'ai réussis à toutes les cachés par une macro :

With activeSheet
.OLEObjets.Visible=False

Mais ensuite il me faut faire apparaitre les objets propre au salarié choisi. Je peux donc taper un par un chacun des objets mais comme parfois certain ne sont pas présent car nous n'en avons pas besoins la macro me renvoi une erreur... logique l'objet n'existe pas. Une première solution consiste a faire une recherche pour savoir si l'objet existe et si non a passer à l'objet suivant

Une deuxième solution serait de demander d'afficher tous les objets dont le nom finit par "NomSalarié_PrénomSalarié" mais ou le début change.

Après trois jours de recherche sur internet😡, je demande de l'aide afin d'avoir des recommandations et des solution sur mon problème.

Merci d'avoir prit le temps de lire ce roman et j'èspere avoir été claire =)
 
Re : Recherche d'un objet

Bonsoir,
difficile sans fichier exemple... peut-être comme cela (à adapter) :
Code:
Sub CacheShapes()
 For Each s In ActiveSheet.Shapes
  If s.Name Like "*NomSalarié_PrénomSalarié" Then s.Visible = False
  Next s
End Sub
Le "*" est un joker permettant de remplacer la chaine de caractère présente avant NomSalarié_PrénomSalarié.
Regarde également ici sur le site de JB (macro proposée issue d'une adaptation d'un exemple trouvé sur ce site).
A+
 
Re : Recherche d'un objet

Salut chlagvuk et le forum
Je sais que ton code est SECRET DEFENSE et qu'on pourrait se faire un max de fric en le revendant, mais si tu veux réellement qu'on t'aide, il faut le fournir 😡

Un petit bout de code à rajouter :
Code:
On Error Resume Next
OLEObjects(1).Visible = True
If Err.Number <> 0 Then
    MsgBox "pas d'image"
    Err.Clear
    Exit Sub
End If
On Error GoTo 0
S'il y a une erreur, on continue. On affiche l'image. Si l'image n'existe pas, on a une erreur (code 1004), mais on continue. comme le numéro de l'erreur b'est plus égal à 0, on prévient et on sort. Si l'image existe, on rétablit la gestion d'erreur initiale.
A+
 
Re : Recherche d'un objet

HAHAHA ^^

Bonjour,

Non ce n'est pas par soucis de protection industrielle ou quoi que ce soit c'est que en réalité c'est un sacré bazar (pour rester poli) dans toutes les macros. C'est pour cela que j'ai essayer de bien détailler.

Quoi qu'il en soit je vous remercie pour vos réponses😀 les deux méthodes on marché mais celle de david84 simplifie l'ensemble de ma macro.

Merci encore et bonne journée😉
 
Re : Recherche d'un objet

Salut chlagvuk et le forum
celle de david84 simplifie l'ensemble de ma macro.
Comme quoi, si on avait le code initial, on aurait peut-être pu faire des propositions plus adaptées, plus rapides...

Quand on veut de l'aide sur une macro, il faut donner au minimum :
- l'intégralité du code
- ce que doit faire la macro
- comment on parvient au résultat escompté.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
472
Réponses
1
Affichages
285
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…