Message erreur listebox
Résolu
icephenix
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
icephenix Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
icephenix Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai ce code sur un fichier excel
il fonctionne parfaitement mais quand je veux le copier dans un autre fichier excel le message d'erreur " compile Error variable not defined" et ca sélectionne listebox1 .
je suis coincé merci de votre aide
j'ai ce code sur un fichier excel
Option Explicit ' Feuille BONS Const lideb = 10 ' premiere ligne Const co = "E" ' colonne à cliquer ' Feuille "tableaux" Const FD = "Feuil1" ' nom de la feuille Const coD = "A" ' colonne montant Const coE = "B" ' colonne libelle Const ht = 12.75 ' hauteur d'une ligne de la listbox - à adapter ' cette fonction renvoie l'adresse du tableau - s est le contenu de la cellule cliquée Public Function AdrPlage(s As String) As String Dim obj As Object, li1 As Long, li2 As Long, lifin As Long ' cherche s dans la colonne coD de la feuille FD Set obj = Sheets(FD).Columns(coD).Find(s, , , xlWhole) ' si s non trouvé renvoie une chaine vide If obj Is Nothing Then AdrPlage = "" ' sinon Else ' li1 est la ligne dans FD où s a été trouvé li1 = obj.Row ' lifin est la dernière ligne non vide de la colonne coD (feuille FD) lifin = Sheets(FD).Range(coD & Rows.Count).End(xlUp).Row ' recherche de la ligne de fin du tableau : li2 ' initialisation de li2 li2 = li1 + 1 ' tant que li2<= lifin et que la cellule (li2,coD) n'est pas vide on in cremebnte li2 While Sheets(FD).Range(coD & li2) <> "" And li2 <= lifin li2 = li2 + 1 Wend ' la plage commence en ligne li1+1 et se finit en li2 ( sur 2 colonnes coD et coE) AdrPlage = Sheets(FD).Range(coD & li1 + 1 & ":" & coE & li2).Address End If End Function Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim des As String, adr As String, nbli As Long, lifin As Long ' si la cellule cible est en colonne co If Not Intersect(Target, Columns(co)) Is Nothing Then ' si listbox1 est visible, on la cache et on quitte sans rien faire If ListBox1.Visible Then ListBox1.Visible = False: Target.Offset(1, 0).Select: Exit Sub ' si la ligne cliquée est avant lideb on quiite sans rien faire If Target.Row < lideb Then Exit Sub ' sinon ' des = contenu de la cellule cliquée des = Target.Value ' adr = adresse du tableau correspondant calculé par la fonction AdrPlage adr = AdrPlage(des) ' si adr vide - des non trouvé - on quitte sans rien faire - on peut faire apparaitre un message d'erreur If adr = "" Then MsgBox "Erreur": Exit Sub ' remplissage et formatage de la listbox With ListBox1 ' ListFillRange est l'adresse du tableau .ListFillRange = FD & "!" & adr ' nombre de lignes du tableau nbli = Sheets(FD).Range(adr).Rows.Count ' alignement de la listbox à gauche et sous la cellule cliquée .Left = Target.Left .Top = Target.Top + Target.Height + 5 ' hauteur de la listbox - c'est là qu'il faudra peut être modifier ht ListBox1.Height = nbli * ht ' si la listbox est visible on a cache sinon on la montre ListBox1.Visible = True ' on passe à la ligne suivante pour debloquer le curseur Target.Offset(1, 0).Select End With End If End Sub
il fonctionne parfaitement mais quand je veux le copier dans un autre fichier excel le message d'erreur " compile Error variable not defined" et ca sélectionne listebox1 .
je suis coincé merci de votre aide
A voir également:
- Message erreur listebox
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Message du pere noel gratuit whatsapp - Accueil - Messagerie instantanée
1 réponse
Bonjour,
Il faudrait le fichier ou il y a l'erreur
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Il faudrait le fichier ou il y a l'erreur
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
https://www.cjoint.com/c/GCilxeIycqy voici le lien
et j'ai remarqué aussi que le double clique et opérationnel à n'importe quelle cellule pas seulement la colonne "E" alors que dans le fichier "original" c'est pas le cas
mreci
Dans un premier temps, faudrait quand meme mettre une listbox sur la feuille, apres ca ira mieux si vous mettez Cancel=True au debut de l'evenement befordouble_clic