Erreur de compilation
Résolu
azeuur31
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Jai un soucis de programmation, je suis novice et j'ai un message qui s'affiche avec un peu de texte en jaune un coup de main svp
Message affiché : erreur 424
J'ai essayé plusieurs choses sans y arrivé.
Pour info, voici la programmation faites entièrement en 1 semaine :
Jai un soucis de programmation, je suis novice et j'ai un message qui s'affiche avec un peu de texte en jaune un coup de main svp
Private Sub Image1_Click() (souligné en jaune en cliquant sur débogage Sheet("Classement par nom").Select Dim nbligne, Nnbligne Dim Sel, NSel Dim Val, NbreInter If (ComboBox1.Value <> "" And ComboBox2.Value <> "" And TextBox1.Value <> "" And TextBox2.Value <> "" And TextBox3.Value <> "") Then
Message affiché : erreur 424
J'ai essayé plusieurs choses sans y arrivé.
Pour info, voici la programmation faites entièrement en 1 semaine :
Dim Désignation Dim Intervention Private Sub ComboBox1_Change() Select Case ComboBox1.Value Case 0 'Mixte informatique Désignation = 0 Case 1 'Sanitaires Mixte informatique IT Désignation = 1 Case 2 'Sanitaires Homme CH1 Désignation = 2 Case 3 'Sanitaires Femme informatique Désignation = 3 Case 4 'Sanitaires Homme CH2 Désignation = 4 Case 5 'Vestiaires CH2 Désignation = 5 Case 6 'CH1 Désignation = 6 Case 7 'Sanitaires Homme LA Désignation = 7 Case 8 'Sanitaires Handicapé Brut Désignation = 8 Case 9 'Sanitaires Femme Brut Désignation = 9 Case 10 'Sanitaires Homme Brut Désignation = 10 Case 11 'Vestiaires Brut Désignation = 11 Case 12 'Sanitaires Homme petites series Désignation = 12 Case 13 'Sanitaires Femme petites series Désignation = 13 Case 14 'Sanitaires Homme Expédition Désignation = 14 Case 15 'Sanitaires Femme Expédition Désignation = 15 Case 16 'Sanitaires Homme Blanc Désignation = 16 Case 17 'Vestiaires Blanc Désignation = 17 Case 18 'Sanitaires Handicapé Menuiserie Désignation = 18 Case 19 'Sanitaires Femme Menuiserie Désignation = 19 Case 20 'Sanitaires Homme Menuiserie Désignation = 20 Case 21 'Sanitaires Femme Show room Désignation = 21 Case 22 'Sanitaires Homme Show room Désignation = 22 Case 23 'Sanitaires Homme HMY Group Désignation = 23 Case 24 'Sanitaires Femme HMY Group Désignation = 24 Case 25 'Sanitaires Femme Etage SAS Désignation = 25 Case 26 'Sanitaires Mixte Food Décentralisé Désignation = 26 Case 27 'Sanitaires Homme Ancien Accueil Désignation = 27 Case 28 'Sanitaires Homme SAS Désignation = 28 Case 29 'Sanitaires Mixte Food Centralisé Désignation = 29 Case 30 'Sanitaires mixte HMY Group Désignation = 30 Case 31 'Vestiaires Homme Menuiserie Désignation = 31 Case 32 'Sanitaires Handicapé Show room Désignation = 32 Case 33 'Vestiaires LA Désignation = 33 Case 34 'Vestiaires Expédition Désignation = 34 Case 35 'Sanitaires Femme Ancien Accueil Désignation = 35 Case 36 'Sanitaires Homme Etage SAS Désignation = 36 Case 37 'Sanitaires Femme SAS Désignation = 37 End Select End Sub Private Sub ComboBox2_Change() Select Case ComboBox2.Value Case 0 'Débouchage des toilettes Domaine = "Débouchage des toilettes" Case 1 'Débouchage des douches Domaine = "Débouchage des douches" Case 2 'Autre Domaine = "Autre" Case 3 'chasse d'eau Domaine = "chasse d'eau" Case 4 'Evier bouché Domaine = "Evier bouché" Case 5 'Néon Domaine = "Néon" Case 6 'presto Domaine = "Presto" Case 7 'plafond Domaine = "plafond" Case 8 'Savon à main Domaine = "Savon à main" Case 9 'Chauffe eau Domaine = "Chauffe eau" Case 9 'Syphon Domaine = "Syphon" Case 9 'Fuite evier Domaine = "Fuite évier" Case 9 'Toilette fuite Domaine = "Toilette fuite" Case 9 'Remise en état Domaine = "Remise en etat" End Select End Sub Private Sub Image2_Click() Dim nbligne, Nnbligne Dim Sel, NSel Unload UserForm1 'Sauve le fichier ActiveWorkbook.Save 'Selection la case A de la dernière ligne Nnbligne = Range("K1").Value NSel = "A" & Nnbligne Range(NSel).Select End Sub Private Sub Image1_Click() Sheets("Classement par nom").Select Dim nbligne, Nnbligne Dim Sel, NSel Dim Val, NbreInter If (ComboBox1.Value <> "" And ComboBox2.Value <> "" And TextBox1.Value <> "" And TextBox2.Value <> "" And TextBox3.Value <> "") Then nbligne = Range("K1").Value Nnbligne = nbligne + 1 Sel = "A" & nbligne & ":G" & nbligne Range(Sel).Select Selection.Copy Sel = "A" & Nnbligne Range(Sel).Select ActiveSheet.Paste Sel = "A" & nbligne NSel = "A" & Nnbligne Val = Range(Sel).Value Range(NSel).Value = Val + 1 NbreInter = Val + 1 NSel = "B" & Nnbligne Range(NSel).Value = Désignation NSel = "F" & Nnbligne Range(NSel).Value = Intervention NSel = "D" & Nnbligne Range(NSel).Value = Range("D2").Value 'remplie les valeurs renseignées Dim commentaire commentaire = TextBox1.Value 'N_° de la désignation NSel = "C" & Nnbligne Range(NSel).Value = commentaire commentaire = TextBox2.Value 'Date NSel = "D" & Nnbligne Range(NSel).Value = commentaire commentaire = TextBox3.Value 'N_° de la fiche NSel = "G" & Nnbligne Range(NSel).Value = commentaire 'Désignation NSel = "B" & Nnbligne Range(NSel).Value = Désignation 'Intervention NSel = "F" & Nnbligne Range(NSel).Value = Intervention 'Efface les commbox et les textbox ComboBox1.Value = "" ComboBox2.Value = "" TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = "" Else MsgBox "Toutes les cases ne sont pas renseignées" End If End Sub Private Sub TextBox4_Change() End Sub Private Sub UserForm_Activate() 'ComboBox1 ComboBox1.AddItem "Sanitaires Mixte informatique" 'ListIndex = 0 ComboBox1.AddItem "Sanitaires Mixte informatique IT" 'ListIndex = 1 ComboBox1.AddItem "Sanitaires Homme CH1" 'ListIndex = 2 ComboBox1.AddItem "Sanitaires Femme informatique" 'ListIndex = 3 ComboBox1.AddItem "Sanitaires Homme CH2" 'ListIndex = 4 ComboBox1.AddItem "Vestiaires CH2" 'ListIndex = 5 ComboBox1.AddItem "Vestiaires CH1" 'ListIndex = 6 ComboBox1.AddItem "Sanitaires Homme LA" 'ListIndex = 7 ComboBox1.AddItem "Sanitaires Handicapé Brut" 'ListIndex = 8 ComboBox1.AddItem "Sanitaires Femme Brut" 'ListIndex = 9 ComboBox1.AddItem "Sanitaires Homme Brut" 'ListIndex = 10 ComboBox1.AddItem "Vestiaires Brut" 'ListIndex = 11 ComboBox1.AddItem "Sanitaires Homme petites series" 'ListIndex = 12 ComboBox1.AddItem "Sanitaires Femme petites series" 'ListIndex = 13 ComboBox1.AddItem "Sanitaires Homme Expédition" 'ListIndex = 14 ComboBox1.AddItem "Sanitaires Femme Expédition" 'ListIndex = 15 ComboBox1.AddItem "Sanitaires Homme Blanc" 'ListIndex = 16 ComboBox1.AddItem "Vestiaires Blanc" 'ListIndex = 17 ComboBox1.AddItem "Sanitaires Handicapé Menuiserie" 'ListIndex = 18 ComboBox1.AddItem "Sanitaires Femme Menuiserie" 'ListIndex = 19 ComboBox1.AddItem "Sanitaires Homme Menuiserie" 'ListIndex = 20 ComboBox1.AddItem "Sanitaires Femme Show room" 'ListIndex = 21 ComboBox1.AddItem "Sanitaires Homme Show room" 'ListIndex = 22 ComboBox1.AddItem "Sanitaires Homme HMY Group" 'ListIndex = 23 ComboBox1.AddItem "Sanitaires Femme HMY Group" 'ListIndex = 24 ComboBox1.AddItem "Sanitaires Femme Etage SAS" 'ListIndex = 25 ComboBox1.AddItem "Sanitaires Mixte Food Décentralisé" 'ListIndex = 26 ComboBox1.AddItem "Sanitaires Homme Ancien Accueil" 'ListIndex = 27 ComboBox1.AddItem "Sanitaires Homme SAS" 'ListIndex = 28 ComboBox1.AddItem "Sanitaires Mixte Food Centralisé" 'ListIndex = 29 ComboBox1.AddItem "Sanitaires mixte HMY Group" 'ListIndex = 30 ComboBox1.AddItem "Vestiaires Homme Menuiserie" 'ListIndex = 31 ComboBox1.AddItem "Sanitaires Handicapé Show room" 'ListIndex = 32 ComboBox1.AddItem "Vestiaires LA" 'ListIndex = 33 ComboBox1.AddItem "Vestiaires Expédition" 'ListIndex = 34 ComboBox1.AddItem "Sanitaires Femme Ancien Accueil" 'ListIndex = 35 ComboBox1.AddItem "Sanitaires Homme Etage SAS" 'ListIndex = 36 ComboBox1.AddItem "Sanitaires Femme SAS" 'ListIndex = 37 'Use drop-down list ComboBox1.Style = fmStyleDropDownList 'Combo box values are ListIndex values ComboBox1.BoundColumn = 0 'Set combo box to first entry 'ComboBox1.ListIndex = 0 'ComboBox ComboBox2.AddItem "Débouchage des toilettes" 'ListIndex = 0 ComboBox2.AddItem "Débouchage des douches" 'ListIndex = 1 ComboBox2.AddItem "Autre" 'ListIndex = 2 ComboBox2.AddItem "chasse d 'eau" 'ListIndex = 3 ComboBox2.AddItem "evier bouché" 'ListIndex = 4 ComboBox2.AddItem "Néon" 'ListIndex = 5 ComboBox2.AddItem "presto" 'ListIndex = 6 ComboBox2.AddItem "plafond" 'ListIndex = 7 ComboBox2.AddItem "Savon à main" 'ListIndex = 8 ComboBox2.AddItem "Chauffe eau" 'ListIndex = 9 ComboBox2.AddItem "Syphon" 'ListIndex = 10 ComboBox2.AddItem "fuite evier" 'ListIndex = 11 ComboBox2.AddItem "Toilette fuite" 'ListIndex = 12 'Use drop-down list ComboBox2.Style = fmStyleDropDownList 'Combo box values are ListIndex values ComboBox2.BoundColumn = 0 End Sub
A voir également:
- Erreur de compilation
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
4 réponses
Bonjour,
VBA n'est pas trop ma tasse de thé, cependant, je peux t'aider à optimiser "un peu" ton code.
ceci
devrait se réduire à
De même pour le 2eme combobox
Note que pour le premier j'ai utilisé ListIndex et pas Value, ton erreur d'exécution vient peut être de là.
Avec Value, tu mets le texte dans la variable, si plus loin tu faits des calculs comme si c'était un entier, ça marche pas.
PS à l'avenir, pour poster un code facilement lisible et donc augmenter tes chances d'obtenir une réponse, utilise la coloration syntaxique voir https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
VBA n'est pas trop ma tasse de thé, cependant, je peux t'aider à optimiser "un peu" ton code.
ceci
Private Sub ComboBox1_Change() Select Case ComboBox1.Value Case 0 'Mixte informatique Désignation = 0 Case 1 'Sanitaires Mixte informatique IT Désignation = 1 Case 2 'Sanitaires Homme CH1 Désignation = 2 Case 3 'Sanitaires Femme informatique Désignation = 3 Case 4 'Sanitaires Homme CH2 Désignation = 4 Case 5 'Vestiaires CH2 Désignation = 5 Case 6 'CH1 Désignation = 6 Case 7 'Sanitaires Homme LA Désignation = 7 Case 8 'Sanitaires Handicapé Brut Désignation = 8 Case 9 'Sanitaires Femme Brut Désignation = 9 Case 10 'Sanitaires Homme Brut Désignation = 10 Case 11 'Vestiaires Brut Désignation = 11 Case 12 'Sanitaires Homme petites series Désignation = 12 Case 13 'Sanitaires Femme petites series Désignation = 13 Case 14 'Sanitaires Homme Expédition Désignation = 14 Case 15 'Sanitaires Femme Expédition Désignation = 15 Case 16 'Sanitaires Homme Blanc Désignation = 16 Case 17 'Vestiaires Blanc Désignation = 17 Case 18 'Sanitaires Handicapé Menuiserie Désignation = 18 Case 19 'Sanitaires Femme Menuiserie Désignation = 19 Case 20 'Sanitaires Homme Menuiserie Désignation = 20 Case 21 'Sanitaires Femme Show room Désignation = 21 Case 22 'Sanitaires Homme Show room Désignation = 22 Case 23 'Sanitaires Homme HMY Group Désignation = 23 Case 24 'Sanitaires Femme HMY Group Désignation = 24 Case 25 'Sanitaires Femme Etage SAS Désignation = 25 Case 26 'Sanitaires Mixte Food Décentralisé Désignation = 26 Case 27 'Sanitaires Homme Ancien Accueil Désignation = 27 Case 28 'Sanitaires Homme SAS Désignation = 28 Case 29 'Sanitaires Mixte Food Centralisé Désignation = 29 Case 30 'Sanitaires mixte HMY Group Désignation = 30 Case 31 'Vestiaires Homme Menuiserie Désignation = 31 Case 32 'Sanitaires Handicapé Show room Désignation = 32 Case 33 'Vestiaires LA Désignation = 33 Case 34 'Vestiaires Expédition Désignation = 34 Case 35 'Sanitaires Femme Ancien Accueil Désignation = 35 Case 36 'Sanitaires Homme Etage SAS Désignation = 36 Case 37 'Sanitaires Femme SAS Désignation = 37 End Select End Sub
devrait se réduire à
Private Sub ComboBox1_Change() Désignation = ComboBox1.ListIndex End Sub
De même pour le 2eme combobox
Private Sub ComboBox2_Change() Domaine = ComboBox2.Value End Sub
Note que pour le premier j'ai utilisé ListIndex et pas Value, ton erreur d'exécution vient peut être de là.
Avec Value, tu mets le texte dans la variable, si plus loin tu faits des calculs comme si c'était un entier, ça marche pas.
PS à l'avenir, pour poster un code facilement lisible et donc augmenter tes chances d'obtenir une réponse, utilise la coloration syntaxique voir https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Bonjour,
avec un peu de texte en jaune
Qu'elle ligne est surlignée en jaune?
Si c'est celle-ci :
Cela signifie qu'un des objets suivants ne porte pas le même nom :
ComboBox1
ComboBox2
TextBox1
TextBox2
TextBox3
Salut Whismeril, Comment va?
avec un peu de texte en jaune
Qu'elle ligne est surlignée en jaune?
Si c'est celle-ci :
If (ComboBox1.Value <> "" And ComboBox2.Value <> "" And TextBox1.Value <> "" And TextBox2.Value <> "" And TextBox3.Value <> "") Then
Cela signifie qu'un des objets suivants ne porte pas le même nom :
ComboBox1
ComboBox2
TextBox1
TextBox2
TextBox3
Salut Whismeril, Comment va?
Maintenant, j'essaye de lier une combo et un textb.
Le principe est lorsque je remplis mon formulaire je choisi un item dans la combo et une donné s'affiche dans le text automatiquement avec une autre feuille de donné ou dans la colonne A il y a le désignation et colonne B le numéro
Voici ma compo que je n'arrive pas à faire fonctionné:
Jai fais la compo avec l'aide d'un référenciel trouvé vite fais
Merci d'avance
PS: je ne serai pas contre des explications de ce qui ne va pas ou si possible des cours en fin je m'en sers sur exel, mon entreprise n'utilise pas acces
Le principe est lorsque je remplis mon formulaire je choisi un item dans la combo et une donné s'affiche dans le text automatiquement avec une autre feuille de donné ou dans la colonne A il y a le désignation et colonne B le numéro
Voici ma compo que je n'arrive pas à faire fonctionné:
Dim C As Range Dim i As Byte Dim FirstAddress As String Me.TextBox1 = "" With Worksheets("Database") 'Cherche l'item dans la colonne A qui contient la valeur égale à celle de ComboBox1 Set C = .Columns("A").Find(Me.ComboBox1.Value, .Range("A1").End(xlDown), xlValues, xlWhole) 'Si cette item existe, alors ... If Not C Is Nothing Then 'On note la valeur de cette première cellule FirstAddress = C.Address 'On entre dans une boucle Do 'On utilise la variable i pour noter le nombre d'incréments. 'Ce nombre est utilisé pour limiter le nombre d'itération à 2 (nombre de TextBox) i = i + 1 'On affecte la valeur associée (colonne B) à la TextBox qui correspond à l'indice i Me.Controls("Textbox" & i).Value = C.Offset(0, 1) 'On poursuit la recherche Set C = Columns("A").FindNext(C) 'On reprend le traitement à condition que : '- il existe une autre cellule qui contient une valeur égale à celle de ComboBox1 '- le nombre d'itération est inférieur à 2 '- la cellule trouvée est différente de la première Loop While Not C Is Nothing And i < 2 And C.Address <> FirstAddress End If End With End Select End Sub
Jai fais la compo avec l'aide d'un référenciel trouvé vite fais
Merci d'avance
PS: je ne serai pas contre des explications de ce qui ne va pas ou si possible des cours en fin je m'en sers sur exel, mon entreprise n'utilise pas acces