Erreur de compilation
Résolu/Fermé
azeuur31
-
Modifié le 25 oct. 2018 à 20:38
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 31 oct. 2018 à 10:38
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 31 oct. 2018 à 10:38
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 1001 outlook - Accueil - Bureautique
- Code erreur f3500-32 ✓ - Forum Bbox Bouygues
- Erreur g030 - Forum Bbox Bouygues
4 réponses
Utilisateur anonyme
25 oct. 2018 à 20:30
25 oct. 2018 à 20:30
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
26 oct. 2018 à 10:26
26 oct. 2018 à 10:26
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?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
26 oct. 2018 à 13:03
26 oct. 2018 à 13:03
Parfait!
tout va bien, merci.
tout va bien, merci.
azeuur31
Messages postés
12
Date d'inscription
mardi 30 octobre 2018
Statut
Membre
Dernière intervention
6 décembre 2018
Modifié le 31 oct. 2018 à 10:35
Modifié le 31 oct. 2018 à 10:35
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
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
31 oct. 2018 à 10:38
31 oct. 2018 à 10:38
Bonjour,
Autre question = autre sujet.
Merci de reformuler cette question dans un nouveau sujet.
Autre question = autre sujet.
Merci de reformuler cette question dans un nouveau sujet.