Porbleme formulaire de consultation

  • Initiateur de la discussion Initiateur de la discussion ifi77
  • 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 !

ifi77

XLDnaute Occasionnel
Bonjour à tous,

J'ai un probleme qui me seche depuis quelques heures, j'ai créer un fichier de consultation pour 3 entités différentes. La première "auteuil" fonctionne parfaitmement, je l'ai reproduit pour les 3 autres et lorsque j(active le détail dans l'userform "visupersonnel" il me met erreur 91 variable d'objet ou variable de bloc with non défini.

Si quelqu'un peut m'aider car je me triture la tete mais aucune idée ne me vient.
Cijoint.fr - Service gratuit de dépôt de fichiers


@+
 
Re : Porbleme formulaire de consultation

Bonjour le fil 🙂,
Tu n'as pas copié le code derrière tes USF et il manque
Code:
Private Sub UserForm_Initialize()
Set Usf2 = Me
End Sub
pour detail_issy 😛...
Par contre, je ne comprends pas du tout pourquoi faire une usine à gaz pareille en dupliquant chaque USF plutôt qu'en affectant les bonnes variables à un seul USF 😕... Ni l'utilisation de variables Public qui ne sont pas publiques mais identiques entres les USF, ainsi que l'intérêt de tout charger en variables au lieu d'utiliser les objets eux-même... 😱
A croire que tu es payé à la ligne de code 😀, ou alors, tu veux être sûr que personne ne puisse reprendre ton projet 🙄...
Bonne soirée 😎
 
Re : Porbleme formulaire de consultation

Bonjour JNP,

Je suis interessé par une autre solution plus simple, en effet je débute en VBA, je recherche à droite à gauche des solutions et les adaptent à mes besoisn donc forcemment ce ne sont pas toujours les meilleurs.

merci de ton aide

@+
 
Re : Porbleme formulaire de consultation

Merci JNP, cela fonctionne j'avais oublié de renseigner les userform détails,
maintenant si tu as des solutions plus simple je suis preneur, cependant il faut que les boutons restent distinc car ils appartiennent en fait à 3 feuilles différentes.

@+
 
Re : Porbleme formulaire de consultation

Re 🙂,
Si tu débutes en VBA, tu as du code qui ne parrait pas de débutant, avec même des modules de classe...
Tu fais donc de la récupération, et tu as de la chance que ça fonctionne aussi bien 😛.
Pour avancer, déjà, tes variables Public, tu devrais ne les déclarer qu'une seule fois dans un module que tu pourrais appeler Déclarations.
Ta sub
Code:
Private Sub fichouvert(nomfich As String)
Dim Wkb As Workbook
Trouve = 0
For Each Wkb In Workbooks
    If Wkb.Name = nomfich Then
        Trouve = 1
        Exit For
    End If
Next Wkb
End Sub
déclarée sans le Private pourrait n'apparaitre qu'une seule fois dans un Module Fonction par exemple et passer en fonction
Code:
Function fichouvert(nomfich As String) As Boolean
Dim Wkb As Workbook
For Each Wkb In Workbooks
    If Wkb.Name = nomfich Then
        fichouvert = True
        Exit For
    End If
Next Wkb
End Function
ce qui transformerait simplement
Code:
' on vérifie si le fichier est ouvert
fichouvert Classeur2
' ouverture du classeur
On Error GoTo gesterreur:
If Trouve = 0 Then
en
Code:
' ouverture du classeur
On Error GoTo gesterreur:
If fichouvert(Classeur2) = False Then
    Set Classeur = GetObject(Chemin & Classeur2)
Du fait, il suffirait simplement que dans tes différents boutons, tu définisses les variables et tu ne pourrait faire qu'un seul USF pour les 3.
Bon courage 😎
 
Re : Porbleme formulaire de consultation

Merci JNP, quand je disais je débute disons que je ne prétend pas etre à l'aise avec le fonctionnement complet de VBA, j'apprends au fur et à mesure des besoins.
Je vais bosser sur ce que tu me propose.

Merci encore

@+
 
- 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
Retour