Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion azerty67
  • 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 !

azerty67

XLDnaute Occasionnel
🙂Bonjour à tous,

J'aimerais une explication détaillée à propos de ce code, merci.


Private Sub ComboBox1_Change()
For n = 9 To 20
Me.Controls("Textbox" & n) = Sheets("Natzwiller").Cells(ComboBox1.ListIndex + 2, n - 7).Value
Next n
End Sub


avec 12 texbox le code fonctionne mais si je retire 4 texbox j'ai une erreur
au niveau :

Me.Controls("Textbox" & n) = Sheets("Natzwiller").Cells(ComboBox1.ListIndex + 2, n - 7).Value


---> "objet spécifié introuvable"

Je ne comprend pas le code simplement🙁
 
Re : Explications

Bonsoir azerty




J'ai regardé le code de ton USF ajouter; tes combos sont bien programmer :
pour aller ajouter ou modifier les données danS chaque feuilles ;tu n'as pas besoin d'autre USF.
Au plaisir de te lire

Bonsoir,

Merci, mais par la deuxième combo je ne vois pas le ou les n° de commande lorsque je selectionne un client par la premiere combo
et les textbox ne me remontent pas les données ?🙂
 
Re : Explications

Bonjour
Je suis d'accord avec Roro l'userform ajouter suffit.
J'ai fait quelques modifs
Si tu double clic sur une ligne: ajouter est lancé
tu peux cliquer sur nouvelle pour une nouvelle fiche
sinon la fiche sur laquelle tu as cliquée peux etre modifié...

A+ François
 
Re : Explications



🙂le code est bien mais je reçois des erreurs à ce niveau quand je veux modifier :

With Sheets("Datas" & ComboBox2.Value)
l = .Range("A65536").End(xlUp).Row + 1
For i = 1 To 1
Select Case i
Case 3 ' combobox
.Cells(l, i).Value = Me.Controls("Combobox" & i).Value
Case Else
.Cells(l, i).Value = Me.Controls("Textbox" & i).Value
End Select
Next i
End With



ou creer une nouvelle fiche

Sheets(ComboBox2.Value).Select

merci
 
Dernière édition:
Re : Explications

Je n'ai pas refait tout le code...
Visiblement l'erreur vient de for i=1 to 1 une boucle qui ne boucle pas? jamais vu...
Je mettrai for i=2 to 9...
Je n'ai pas compris à quoi sert la feuille data...
J'ai vu que tu as un bouton... mais si tu double clic sur une feuille Dans l'userform "ajouter" j'ai ajouter 2 boutons d'option. Si tu selectionnes nouvelle ça ajoutes une fiche.
A+ François
 
Re : Explications


🙂Encore merci je vais regarder
Sur les feuilles commençant par le mot "Datas" c.a.d Datas_Natzwiller par ex je reporte le numéro de commande saisi lors du remplissage d'une nouvelle commande. Ceci me permet grace à un autre userform et une combo listant les n° de commandes ainsi reportés de remplir ces feuilles en y ajoutant des frais mensuels. Tu peux le voir sur les autres feuilles commençant par "Datas"

Je n'ai pas trouvé d'autres solutions

Je reçois aussi ce message quand je veux modifier une commande :

Incompatibilité de type

----> l = CInt(ajouter.Label26.Caption) 'ligne pour modifier

et:

L'indice n'appartient pas à la sélection quand je clique sur nouvelle fiche

----> Sheets(ComboBox2.Value).Select
 
Dernière édition:
Re : Explications



🙂Bonjour,

Si quelqu'un a une autre idée ? Merci
 
Re : Explications

Bonjour
Ci joint fichier corrigé...
Pour les mois pourquoi ne pas utiliser les colonnes vides de la commande (masquer ci necessaire)

A+ François

Bonsoir François,

C'est vrai que je n'y avais pas pensé... 🙄, économie de codes, moins de feuilles..

Avec ton astuce, il faudra donc que je modifie mon userform de "gestion des mois", je vais essayer mais suis pas sur d'y arriver 🙁

Pourrais-tu me laisser des explications sur tes codes ? Merci, j'aimerais
comprendre tout ceci 🙂

J'ai essayé ton code, il y a un léger problème.
Lorsque je clique par ex dans la feuille "Natzwiller" mais que je souhaite modifier une commande de l'Espagne la combo "N° de commande" ne fonctionne pas bien. Elle ne me remonte pas les bonne infos et garde les commandes précédentes en mémoire, merci.
 
Dernière édition:
Re : Explications

Quand tu es sur une feuille, tu clic sur le nom de la feuille avec le bouton droit et tu choisis "Visualiser le code"
Dans la liste de gauche tu selectionnes woorksheet ensuite dans celle de droite tu choisis "before double clic"
A chaque double clic sur cette feuille cette macro est appelé automatiquement...
la cellule qui a été sélectionné lors du double clic s'appelle Target
lig = Target.Row < cette fonction (row) donne la ligne de la cellule selectionnée
ajouter.ComboBox2.Value = ActiveSheet.Name >on dit à la combobox2 le nom de la feuille (nom du client)
ajouter.ComboBox4.Value = Cells(lig, 1).Value >on dit à la 2eme combobox de prendre la valeur de la cellule 1

ajouter.TextBox2.Value = Cells(lig, 2).Value>on dit à la textbox de prendre la valeur de la cellule 2
cells(ligne,colonne) est la même chose que range("xy")...
ajouter.Label26.Caption = lig > j'ai ajouté ce label pour garder la ligne
ajouter.OptionButton1 = True > j(ai dit au 1er bouton qu'il est coché...
ajouter.Show >et enfin je montre l'userform...
Pour les boutons d'option je ne fais que effacer l'userform si tu clic sur le bouton nouveau
et dans ce cas le label26 prend comme valeur la dernière ligne
Quand tu ne comprends pas une commande dans une macro, tu la sélectionnes et tu clic sur F1 (ça aide)

A+ François
 
Re : Explications


🙂Merci je vais cogiter à présent.

Possibilité de ne sélectionner que les cellules du tableau et non toute la feuille ?
🙂
 
Re : Explications

Rows(x).Select pour sélectionner une ligne
Columns(x).Select pour sélectionner une colonne
range("a5:c15").select pour sélectionner plusieurs cellules...
peux éventuellement être remplacé par
Range(Cells(ligne1, colonne1), Cells(ligne2, colonne2)).Select

A+ François
 
- 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
922
Réponses
4
Affichages
734
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…