comment coder une combobox pour remplir diverses feuilles d'un classeur
26 réponses
raptorus1er
Bonjour,
Tout nouveau sur le forum et dans le codage VBA, je viens vers vous car n'ayant que pour seul méthode d'apprentissage le visionnage et la retranscription de tutoriels vidéos je suis vite perdu dans les termes utilisés.
Après bcp de temps à essayer de comprendre comment créer un formulaire, je suis face à une colle pour mon faible niveau.
Pour la petite explication, j'ai souhaité créer un formulaire car dans mon service, chaque dossier contient une liste mise sous excel, j'ai premièrement rassemblé toutes les listes sur un seul classeur sur diverses feuilles.
De là je me suis lancé sur la création d'un formulaire qui reprend par les textbox toutes les données des diverses listes et une combobox (dans laquelle j'ai listé les diverses feuilles) qui est censée diriger les informations remplies vers la feuille qui aura été sélectionné dans la ComboBox.
et me voilà dans le flou le plus total pour la rédaction d'un code me permettant cette instruction.
Après avoir parcouru les diverses questions, je n'ai pas trouver de solution à mon problème.
Quelqu'un aurait il la possibilité d'orienter mes recherches ou de me guider dans la rédaction du code.
merci à vous
bien cordialement
| pour chaque feuille? avec evidemment le changement des nom des textBox? Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien n'empêche tes textbox d'avoir le même nom s'ils sont dans des feuilles différentes. À toi de voir! MichD
bonjour, après avoir fait les modifications que tu m'as donné (Michd), donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1. je reste donc dans la galère mais pas la même lol. si quelqu'un a une solution je suis toujours preneur. merci à tous
Le jeudi 09 Août 2018 à 21:39 par Michd :
> | pour chaque feuille? avec evidemment le changement des nom des textBox?
>
> Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien
> n'empêche tes textbox d'avoir
> le même nom s'ils sont dans des feuilles différentes. À toi
> de voir!
>
> MichD
bonjour,
après avoir fait les modifications que tu m'as donné (Michd),
donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1.
je reste donc dans la galère mais pas la même lol.
si quelqu'un a une solution je suis toujours preneur.
merci à tous
| pour chaque feuille? avec evidemment le changement des nom des textBox? Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien n'empêche tes textbox d'avoir le même nom s'ils sont dans des feuilles différentes. À toi de voir! MichD
bonjour, après avoir fait les modifications que tu m'as donné (Michd), donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1. je reste donc dans la galère mais pas la même lol. si quelqu'un a une solution je suis toujours preneur. merci à tous
Michd
Fichier exemple : : https://www.cjoint.com/c/HHxueYlupui Tu sélectionnes la feuille que tu désires dans le textbox Tu entres des données dans les textbox du formulaire et tu cliques sur le bouton transfert. MichD "raptorus1er" a écrit dans le message de groupe de discussion : Le jeudi 09 Août 2018 à 21:39 par Michd :
| pour chaque feuille? avec evidemment le changement des nom des textBox? Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien n'empêche tes textbox d'avoir le même nom s'ils sont dans des feuilles différentes. À toi de voir! MichD
bonjour, après avoir fait les modifications que tu m'as donné (Michd), donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1. je reste donc dans la galère mais pas la même lol. si quelqu'un a une solution je suis toujours preneur. merci à tous
Fichier exemple : : https://www.cjoint.com/c/HHxueYlupui
Tu sélectionnes la feuille que tu désires dans le textbox
Tu entres des données dans les textbox du formulaire
et tu cliques sur le bouton transfert.
MichD
"raptorus1er" a écrit dans le message de groupe de discussion :
EOWdnSYjnZokQePGnZ2dnUU798zNnZ2d@giganews.com...
Le jeudi 09 Août 2018 à 21:39 par Michd :
| pour chaque feuille? avec evidemment le changement des nom des textBox?
Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien
n'empêche tes textbox d'avoir
le même nom s'ils sont dans des feuilles différentes. À toi
de voir!
MichD
bonjour,
après avoir fait les modifications que tu m'as donné (Michd),
donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les
feuilles en même temps peu importe la feuille que je sélectionne sur la
ComboBox1.
je reste donc dans la galère mais pas la même lol.
si quelqu'un a une solution je suis toujours preneur.
Fichier exemple : : https://www.cjoint.com/c/HHxueYlupui Tu sélectionnes la feuille que tu désires dans le textbox Tu entres des données dans les textbox du formulaire et tu cliques sur le bouton transfert. MichD "raptorus1er" a écrit dans le message de groupe de discussion : Le jeudi 09 Août 2018 à 21:39 par Michd :
| pour chaque feuille? avec evidemment le changement des nom des textBox? Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien n'empêche tes textbox d'avoir le même nom s'ils sont dans des feuilles différentes. À toi de voir! MichD
bonjour, après avoir fait les modifications que tu m'as donné (Michd), donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1. je reste donc dans la galère mais pas la même lol. si quelqu'un a une solution je suis toujours preneur. merci à tous
raptorus1er
Le jeudi 23 Août 2018 à 22:06 par Michd :
Fichier exemple : : https://www.cjoint.com/c/HHxueYlupui Tu sélectionnes la feuille que tu désires dans le textbox Tu entres des données dans les textbox du formulaire et tu cliques sur le bouton transfert. MichD "raptorus1er" a écrit dans le message de groupe de discussion : Le jeudi 09 Août 2018 à 21:39 par Michd :
| pour chaque feuille? avec evidemment le changement des nom des textBox? Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien n'empêche tes textbox d'avoir le même nom s'ils sont dans des feuilles différentes. À toi de voir! MichD
bonjour, après avoir fait les modifications que tu m'as donné (Michd), donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1. je reste donc dans la galère mais pas la même lol. si quelqu'un a une solution je suis toujours preneur. merci à tous
bonjour MichD et à tous, j'ai testé les formules que tu as mis dans ton formulaire mais je ne peux pas le mettre en place dans le mien car je n'ai pas de textbox dans mes feuilles mais un tableau par feuille. les cellules des tableaux sont remplies via: Private Sub CommandButton1_Click() 'activation de commande de la 1ere textbox valide pour feuille1 If Sheets("feuille1").Range("A3") = "" Then Sheets("feuille1").Range("A3") = TextBox2 Else Sheets("feuille1").ListObjects(1).ListRows.Add End If 'Détail des TextBox uilisé pour la feuille sélectionnée dlt = Sheets("feuille1").Range("d1000000").End(xlUp).Row Sheets("feuille1").Range("A" & dlt) = TextBox2 Sheets("feuille1").Range("B" & dlt) = TextBox3 Sheets("feuille1").Range("C" & dlt) = TextBox8 Sheets("feuille1").Range("D" & dlt) = TextBox9 du coup j'ai fait cela pour chaque feuille ce qui fonctionne au jour d'aujourd'hui. Malheureusement TextBox2 impacte également une colonne de la feuille 2, de la feuille 3 etc.... et me les inscrit également. tu me conseilles de coder: Private Sub CmdTransfer_Click() plutot que Private Sub CommandButton1_Click() ou cela importe peu? quelqu'un aurait une idée pour le transfert des données des textbox sur une feuille vers les cellules correspondantes?
Le jeudi 23 Août 2018 à 22:06 par Michd :
> Fichier exemple : : https://www.cjoint.com/c/HHxueYlupui
>
> Tu sélectionnes la feuille que tu désires dans le textbox
> Tu entres des données dans les textbox du formulaire
> et tu cliques sur le bouton transfert.
>
> MichD
>
>
>
> "raptorus1er" a écrit dans le message de groupe de discussion
> :
>
>
> Le jeudi 09 Août 2018 à 21:39 par Michd :
>> | pour chaque feuille? avec evidemment le changement des nom des textBox?
>>
>> Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien
>> n'empêche tes textbox d'avoir
>> le même nom s'ils sont dans des feuilles différentes. À
>> toi
>> de voir!
>>
>> MichD
>>
> bonjour,
> après avoir fait les modifications que tu m'as donné (Michd),
> donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les
> feuilles en même temps peu importe la feuille que je sélectionne
> sur la
> ComboBox1.
>
> je reste donc dans la galère mais pas la même lol.
> si quelqu'un a une solution je suis toujours preneur.
>
> merci à tous
bonjour MichD et à tous,
j'ai testé les formules que tu as mis dans ton formulaire mais je ne peux pas le mettre en place dans le mien car je n'ai pas de textbox dans mes feuilles mais un tableau par feuille.
les cellules des tableaux sont remplies via:
Private Sub CommandButton1_Click()
'activation de commande de la 1ere textbox valide pour feuille1
If Sheets("feuille1").Range("A3") = "" Then
Sheets("feuille1").Range("A3") = TextBox2
Else
Sheets("feuille1").ListObjects(1).ListRows.Add
End If
'Détail des TextBox uilisé pour la feuille sélectionnée
dlt = Sheets("feuille1").Range("d1000000").End(xlUp).Row
Sheets("feuille1").Range("A" & dlt) = TextBox2
Sheets("feuille1").Range("B" & dlt) = TextBox3
Sheets("feuille1").Range("C" & dlt) = TextBox8
Sheets("feuille1").Range("D" & dlt) = TextBox9
du coup j'ai fait cela pour chaque feuille ce qui fonctionne au jour d'aujourd'hui.
Malheureusement TextBox2 impacte également une colonne de la feuille 2, de la feuille 3 etc.... et me les inscrit également.
tu me conseilles de coder:
Private Sub CmdTransfer_Click()
plutot que
Private Sub CommandButton1_Click()
ou cela importe peu?
quelqu'un aurait une idée pour le transfert des données des textbox sur une feuille vers les cellules correspondantes?
Fichier exemple : : https://www.cjoint.com/c/HHxueYlupui Tu sélectionnes la feuille que tu désires dans le textbox Tu entres des données dans les textbox du formulaire et tu cliques sur le bouton transfert. MichD "raptorus1er" a écrit dans le message de groupe de discussion : Le jeudi 09 Août 2018 à 21:39 par Michd :
| pour chaque feuille? avec evidemment le changement des nom des textBox? Je n'en sais rien. Je ne sais pas où sont ces textbox? De plus, rien n'empêche tes textbox d'avoir le même nom s'ils sont dans des feuilles différentes. À toi de voir! MichD
bonjour, après avoir fait les modifications que tu m'as donné (Michd), donc au jour d'aujourd'hui, les informations s'inscrivent sur toutes les feuilles en même temps peu importe la feuille que je sélectionne sur la ComboBox1. je reste donc dans la galère mais pas la même lol. si quelqu'un a une solution je suis toujours preneur. merci à tous
bonjour MichD et à tous, j'ai testé les formules que tu as mis dans ton formulaire mais je ne peux pas le mettre en place dans le mien car je n'ai pas de textbox dans mes feuilles mais un tableau par feuille. les cellules des tableaux sont remplies via: Private Sub CommandButton1_Click() 'activation de commande de la 1ere textbox valide pour feuille1 If Sheets("feuille1").Range("A3") = "" Then Sheets("feuille1").Range("A3") = TextBox2 Else Sheets("feuille1").ListObjects(1).ListRows.Add End If 'Détail des TextBox uilisé pour la feuille sélectionnée dlt = Sheets("feuille1").Range("d1000000").End(xlUp).Row Sheets("feuille1").Range("A" & dlt) = TextBox2 Sheets("feuille1").Range("B" & dlt) = TextBox3 Sheets("feuille1").Range("C" & dlt) = TextBox8 Sheets("feuille1").Range("D" & dlt) = TextBox9 du coup j'ai fait cela pour chaque feuille ce qui fonctionne au jour d'aujourd'hui. Malheureusement TextBox2 impacte également une colonne de la feuille 2, de la feuille 3 etc.... et me les inscrit également. tu me conseilles de coder: Private Sub CmdTransfer_Click() plutot que Private Sub CommandButton1_Click() ou cela importe peu? quelqu'un aurait une idée pour le transfert des données des textbox sur une feuille vers les cellules correspondantes?
Michd
'-------------------------------------------------------------- tu me conseilles de coder: Private Sub CmdTransfer_Click() plutot que Private Sub CommandButton1_Click() '-------------------------------------------------------------- Si tu as remarqué, si tu affiches les propriétés (barre des menus / développeur / Mode création / après sélectionne le bouton de commande et affiche les propriétés par la commande du même nom. Remarque que la propriété "Name" a comme "NOM" CmdTransfer". Si ce bouton est dans un formulaire, en mode création, sélectionne le bouton et regarde la propriété "NAME" du bouton, il doit avoir comme nom "CmdTranfer". Le fait de donner un nom au bouton de commande aide à reconnaître à quoi sert ces boutons lorsque vient le temps de CODER. Le nom lui-même n'a aucun impact sur l'exécution du code. Après donner un nom, lorsque tu fais un double-clic pour inscrire le code, au lieu d'avoir un bouton Private Sub CommandButton1_Click(), tu as Private Sub CmdTransfer_Click() MichD ?
'--------------------------------------------------------------
tu me conseilles de coder:
Si tu as remarqué, si tu affiches les propriétés (barre des menus / développeur / Mode création /
après sélectionne le bouton de commande et affiche les propriétés par la commande du même nom.
Remarque que la propriété "Name" a comme "NOM" CmdTransfer".
Si ce bouton est dans un formulaire, en mode création, sélectionne le bouton et regarde la propriété
"NAME" du bouton, il doit avoir comme nom "CmdTranfer". Le fait de donner un nom au bouton de
commande aide à reconnaître à quoi sert ces boutons lorsque vient le temps de CODER. Le nom lui-même
n'a aucun impact sur l'exécution du code. Après donner un nom, lorsque tu fais un double-clic pour
inscrire le code, au lieu d'avoir un bouton Private Sub CommandButton1_Click(), tu as Private Sub
CmdTransfer_Click()
'-------------------------------------------------------------- tu me conseilles de coder: Private Sub CmdTransfer_Click() plutot que Private Sub CommandButton1_Click() '-------------------------------------------------------------- Si tu as remarqué, si tu affiches les propriétés (barre des menus / développeur / Mode création / après sélectionne le bouton de commande et affiche les propriétés par la commande du même nom. Remarque que la propriété "Name" a comme "NOM" CmdTransfer". Si ce bouton est dans un formulaire, en mode création, sélectionne le bouton et regarde la propriété "NAME" du bouton, il doit avoir comme nom "CmdTranfer". Le fait de donner un nom au bouton de commande aide à reconnaître à quoi sert ces boutons lorsque vient le temps de CODER. Le nom lui-même n'a aucun impact sur l'exécution du code. Après donner un nom, lorsque tu fais un double-clic pour inscrire le code, au lieu d'avoir un bouton Private Sub CommandButton1_Click(), tu as Private Sub CmdTransfer_Click() MichD ?
raptorus1er
Le jeudi 06 Septembre 2018 à 20:11 par Michd :
'-------------------------------------------------------------- tu me conseilles de coder: Private Sub CmdTransfer_Click() plutot que Private Sub CommandButton1_Click() '-------------------------------------------------------------- Si tu as remarqué, si tu affiches les propriétés (barre des menus / développeur / Mode création / après sélectionne le bouton de commande et affiche les propriétés par la commande du même nom. Remarque que la propriété "Name" a comme "NOM" CmdTransfer". Si ce bouton est dans un formulaire, en mode création, sélectionne le bouton et regarde la propriété "NAME" du bouton, il doit avoir comme nom "CmdTranfer". Le fait de donner un nom au bouton de commande aide à reconnaître à quoi sert ces boutons lorsque vient le temps de CODER. Le nom lui-même n'a aucun impact sur l'exécution du code. Après donner un nom, lorsque tu fais un double-clic pour inscrire le code, au lieu d'avoir un bouton Private Sub CommandButton1_Click(), tu as Private Sub CmdTransfer_Click() MichD ?
bonjour MichD et à tous! je pensais que CmdTransfer_Click() étaitun bouton de commande particulier créé à partir de la boite à outils comme l'est CommandButton1_Click() en fait c'est juste le nom que tu as changé pour donner sa description. du coup ça ne change pas mon problème! :) je continue à chercher. bonne journée à tous
Le jeudi 06 Septembre 2018 à 20:11 par Michd :
> '--------------------------------------------------------------
> tu me conseilles de coder:
>
> Private Sub CmdTransfer_Click()
>
> plutot que
>
> Private Sub CommandButton1_Click()
>
> '--------------------------------------------------------------
>
> Si tu as remarqué, si tu affiches les propriétés (barre
> des menus / développeur / Mode création /
> après sélectionne le bouton de commande et affiche les
> propriétés par la commande du même nom.
> Remarque que la propriété "Name" a comme
> "NOM" CmdTransfer".
>
> Si ce bouton est dans un formulaire, en mode création,
> sélectionne le bouton et regarde la propriété
> "NAME" du bouton, il doit avoir comme nom "CmdTranfer". Le
> fait de donner un nom au bouton de
> commande aide à reconnaître à quoi sert ces boutons lorsque
> vient le temps de CODER. Le nom lui-même
> n'a aucun impact sur l'exécution du code. Après donner un nom,
> lorsque tu fais un double-clic pour
> inscrire le code, au lieu d'avoir un bouton Private Sub CommandButton1_Click(),
> tu as Private Sub
> CmdTransfer_Click()
>
> MichD
>
> ?
bonjour MichD et à tous!
je pensais que CmdTransfer_Click() étaitun bouton de commande particulier créé à partir de la boite à outils comme l'est CommandButton1_Click() en fait c'est juste le nom que tu as changé pour donner sa description.
du coup ça ne change pas mon problème! :)
je continue à chercher. bonne journée à tous
'-------------------------------------------------------------- tu me conseilles de coder: Private Sub CmdTransfer_Click() plutot que Private Sub CommandButton1_Click() '-------------------------------------------------------------- Si tu as remarqué, si tu affiches les propriétés (barre des menus / développeur / Mode création / après sélectionne le bouton de commande et affiche les propriétés par la commande du même nom. Remarque que la propriété "Name" a comme "NOM" CmdTransfer". Si ce bouton est dans un formulaire, en mode création, sélectionne le bouton et regarde la propriété "NAME" du bouton, il doit avoir comme nom "CmdTranfer". Le fait de donner un nom au bouton de commande aide à reconnaître à quoi sert ces boutons lorsque vient le temps de CODER. Le nom lui-même n'a aucun impact sur l'exécution du code. Après donner un nom, lorsque tu fais un double-clic pour inscrire le code, au lieu d'avoir un bouton Private Sub CommandButton1_Click(), tu as Private Sub CmdTransfer_Click() MichD ?
bonjour MichD et à tous! je pensais que CmdTransfer_Click() étaitun bouton de commande particulier créé à partir de la boite à outils comme l'est CommandButton1_Click() en fait c'est juste le nom que tu as changé pour donner sa description. du coup ça ne change pas mon problème! :) je continue à chercher. bonne journée à tous
Michd
| du coup ça ne change pas mon problème! :) Et c'est quoi ton problème? MichD
| du coup ça ne change pas mon problème! :) Et c'est quoi ton problème? MichD
raptorus1er
Le vendredi 07 Septembre 2018 à 11:39 par Michd :
| du coup ça ne change pas mon problème! :) Et c'est quoi ton problème? MichD
ben lorsque j'inscris dans mes textbox, les informations vont sur toutes les feuilles en même temps. le formulaire que tu m'as montré permet de transférer des informations de textbox vers des textbox, ce que je recherche c'est pour le transfert des information de textbox vers les cellules du tableau (d'une feuille préselectionnée auparavant depuis une combobox). si tu veux je peux te faire parvenir mon projet par mp pour que tu le vois dans son intégralité.
Le vendredi 07 Septembre 2018 à 11:39 par Michd :
> | du coup ça ne change pas mon problème! :)
>
> Et c'est quoi ton problème?
>
> MichD
ben lorsque j'inscris dans mes textbox, les informations vont sur toutes les feuilles en même temps.
le formulaire que tu m'as montré permet de transférer des informations de textbox vers des textbox, ce que je recherche c'est pour le transfert des information de textbox vers les cellules du tableau (d'une feuille préselectionnée auparavant depuis une combobox).
si tu veux je peux te faire parvenir mon projet par mp pour que tu le vois dans son intégralité.
| du coup ça ne change pas mon problème! :) Et c'est quoi ton problème? MichD
ben lorsque j'inscris dans mes textbox, les informations vont sur toutes les feuilles en même temps. le formulaire que tu m'as montré permet de transférer des informations de textbox vers des textbox, ce que je recherche c'est pour le transfert des information de textbox vers les cellules du tableau (d'une feuille préselectionnée auparavant depuis une combobox). si tu veux je peux te faire parvenir mon projet par mp pour que tu le vois dans son intégralité.
Michd
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de code. Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant : With Activesheet 'OU Worksheets("NomFeuille") .Cells(3, 1) = "toto100" End With Ce code ajoute une ligne nouvelle de donnée au tableau. '------------------------------------- Sub Ajouter_New_Data_To_A_Table() Dim Sh As Worksheet Dim T As ListObject, Newrow As ListRow Set Sh = ActiveSheet Set T = Sh.ListObjects("Tableau1") Set Newrow = T.ListRows.Add With Newrow .Range(1) = "...." 'Première colonne nouvelle ligne .Range(2) = "......" 'Deuxième colonne ... .Range(3) = "Ce que tu veux" End With End Sub '------------------------------------- Pour ce qui est des textbox, tu as déjà un exemple. MichD
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de
code.
Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant :
With Activesheet 'OU Worksheets("NomFeuille")
.Cells(3, 1) = "toto100"
End With
Ce code ajoute une ligne nouvelle de donnée au tableau.
'-------------------------------------
Sub Ajouter_New_Data_To_A_Table()
Dim Sh As Worksheet
Dim T As ListObject, Newrow As ListRow
Set Sh = ActiveSheet
Set T = Sh.ListObjects("Tableau1")
Set Newrow = T.ListRows.Add
With Newrow
.Range(1) = "...." 'Première colonne nouvelle ligne
.Range(2) = "......" 'Deuxième colonne ...
.Range(3) = "Ce que tu veux"
End With
End Sub
'-------------------------------------
Pour ce qui est des textbox, tu as déjà un exemple.
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de code. Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant : With Activesheet 'OU Worksheets("NomFeuille") .Cells(3, 1) = "toto100" End With Ce code ajoute une ligne nouvelle de donnée au tableau. '------------------------------------- Sub Ajouter_New_Data_To_A_Table() Dim Sh As Worksheet Dim T As ListObject, Newrow As ListRow Set Sh = ActiveSheet Set T = Sh.ListObjects("Tableau1") Set Newrow = T.ListRows.Add With Newrow .Range(1) = "...." 'Première colonne nouvelle ligne .Range(2) = "......" 'Deuxième colonne ... .Range(3) = "Ce que tu veux" End With End Sub '------------------------------------- Pour ce qui est des textbox, tu as déjà un exemple. MichD
raptorus1er
Le vendredi 07 Septembre 2018 à 14:12 par Michd :
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de code. Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant : With Activesheet 'OU Worksheets("NomFeuille") .Cells(3, 1) = "toto100" End With Ce code ajoute une ligne nouvelle de donnée au tableau. '------------------------------------- Sub Ajouter_New_Data_To_A_Table() Dim Sh As Worksheet Dim T As ListObject, Newrow As ListRow Set Sh = ActiveSheet Set T = Sh.ListObjects("Tableau1") Set Newrow = T.ListRows.Add With Newrow .Range(1) = "...." 'Première colonne nouvelle ligne .Range(2) = "......" 'Deuxième colonne ... .Range(3) = "Ce que tu veux" End With End Sub '------------------------------------- Pour ce qui est des textbox, tu as déjà un exemple. MichD
bonjour, voici mon fichier avec les problèmes qui se posent à moi, à savoir: - enregistrement des informations sur toutes les feuilles de mon classeur - lorsque l'on passe d'une donnée à une autre dans la combobox1, les textboxs qui ont déjà été désactivées ne sont plus actives sans avoir redémarré le formulaire. c'est tout ce qui me pose problème du moins pour le moment :) https://www.cjoint.com/c/HIlhAauYsFc toutes modifications seront les bienvenues pour faciliter l'utilisation de mon projet. merci à vous et bonne journée
Le vendredi 07 Septembre 2018 à 14:12 par Michd :
> Si tu veux ajouter des données (une nouvelle ligne) à un tableau
> des données, voici un exemple de
> code.
> Si tu veux simplement modifier une donnée existante du tableau, ceci est
> suffisant :
>
> With Activesheet 'OU Worksheets("NomFeuille")
> .Cells(3, 1) = "toto100"
> End With
>
> Ce code ajoute une ligne nouvelle de donnée au tableau.
> '-------------------------------------
> Sub Ajouter_New_Data_To_A_Table()
> Dim Sh As Worksheet
> Dim T As ListObject, Newrow As ListRow
>
> Set Sh = ActiveSheet
> Set T = Sh.ListObjects("Tableau1")
>
> Set Newrow = T.ListRows.Add
> With Newrow
> .Range(1) = "...." 'Première colonne nouvelle ligne
> .Range(2) = "......" 'Deuxième colonne ...
> .Range(3) = "Ce que tu veux"
> End With
> End Sub
> '-------------------------------------
>
> Pour ce qui est des textbox, tu as déjà un exemple.
>
> MichD
bonjour,
voici mon fichier avec les problèmes qui se posent à moi, à savoir:
- enregistrement des informations sur toutes les feuilles de mon classeur
- lorsque l'on passe d'une donnée à une autre dans la combobox1, les textboxs qui ont déjà été désactivées ne sont plus actives sans avoir redémarré le formulaire.
c'est tout ce qui me pose problème du moins pour le moment :)
https://www.cjoint.com/c/HIlhAauYsFc
toutes modifications seront les bienvenues pour faciliter l'utilisation de mon projet.
merci à vous et bonne journée
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de code. Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant : With Activesheet 'OU Worksheets("NomFeuille") .Cells(3, 1) = "toto100" End With Ce code ajoute une ligne nouvelle de donnée au tableau. '------------------------------------- Sub Ajouter_New_Data_To_A_Table() Dim Sh As Worksheet Dim T As ListObject, Newrow As ListRow Set Sh = ActiveSheet Set T = Sh.ListObjects("Tableau1") Set Newrow = T.ListRows.Add With Newrow .Range(1) = "...." 'Première colonne nouvelle ligne .Range(2) = "......" 'Deuxième colonne ... .Range(3) = "Ce que tu veux" End With End Sub '------------------------------------- Pour ce qui est des textbox, tu as déjà un exemple. MichD
bonjour, voici mon fichier avec les problèmes qui se posent à moi, à savoir: - enregistrement des informations sur toutes les feuilles de mon classeur - lorsque l'on passe d'une donnée à une autre dans la combobox1, les textboxs qui ont déjà été désactivées ne sont plus actives sans avoir redémarré le formulaire. c'est tout ce qui me pose problème du moins pour le moment :) https://www.cjoint.com/c/HIlhAauYsFc toutes modifications seront les bienvenues pour faciliter l'utilisation de mon projet. merci à vous et bonne journée
Michd
Bonjour, Dans ton formulaire, j'ai renommé tous les contrôles "Texte" et "Combobox" du nom de l'étiquette au-dessus des contrôles respectifs. Lorsque ces étiquettes ont une appellation de plus d'un mot, le nom (propriété name) des contrôles est le même que l'étiquette + un "_" remplaçant l'espace. Les accents font aussi partie des noms des contrôles. Dans tes feuilles, le nom des étiquettes de colonnes de la ligne 2, doit avoir la même appellation que les étiquettes ou noms des contrôles du formulaire. Cependant, nul besoin d'utiliser le "_" pour remplacer les espaces. Ces étiquettes de colonnes dans plusieurs feuilles ont des noms différents. Je ne les ai pas modifiés, c'est ton travail. Les contrôles "Combobx" ne sont jamais "touchés par la procédure". Quand tu modifies le contenu du combobox "Listing" seulement les contrôles de la feuille contenant le nom des étiquettes de la ligne 2 de la feuille sont activés dans le formulaire. Ton fichier : https://www.cjoint.com/c/HIlrAWyQNdF Observe, tous les noms des "Textbox" débutent par "Txt", celui des combobox par "Cmb" et celui des boutons de commande par "Cmd". En prenant le temps de bien nommer les contrôles, c'est beaucoup plus facile de s'y retrouver lorsque l'on désire insérer du code! MichD "raptorus1er" a écrit dans le message de groupe de discussion : Le vendredi 07 Septembre 2018 à 14:12 par Michd :
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de code. Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant : With Activesheet 'OU Worksheets("NomFeuille") .Cells(3, 1) = "toto100" End With Ce code ajoute une ligne nouvelle de donnée au tableau. '------------------------------------- Sub Ajouter_New_Data_To_A_Table() Dim Sh As Worksheet Dim T As ListObject, Newrow As ListRow Set Sh = ActiveSheet Set T = Sh.ListObjects("Tableau1") Set Newrow = T.ListRows.Add With Newrow .Range(1) = "...." 'Première colonne nouvelle ligne .Range(2) = "......" 'Deuxième colonne ... .Range(3) = "Ce que tu veux" End With End Sub '------------------------------------- Pour ce qui est des textbox, tu as déjà un exemple. MichD
bonjour, voici mon fichier avec les problèmes qui se posent à moi, à savoir: - enregistrement des informations sur toutes les feuilles de mon classeur - lorsque l'on passe d'une donnée à une autre dans la combobox1, les textboxs qui ont déjà été désactivées ne sont plus actives sans avoir redémarré le formulaire. c'est tout ce qui me pose problème du moins pour le moment :) https://www.cjoint.com/c/HIlhAauYsFc toutes modifications seront les bienvenues pour faciliter l'utilisation de mon projet. merci à vous et bonne journée
Bonjour,
Dans ton formulaire, j'ai renommé tous les contrôles "Texte" et "Combobox" du nom de l'étiquette
au-dessus des contrôles respectifs. Lorsque ces étiquettes ont une appellation de plus d'un mot, le
nom (propriété name) des contrôles est le même que l'étiquette + un "_" remplaçant l'espace. Les
accents font aussi partie des noms des contrôles.
Dans tes feuilles, le nom des étiquettes de colonnes de la ligne 2, doit avoir la même appellation
que les étiquettes ou noms des contrôles du formulaire. Cependant, nul besoin d'utiliser le "_" pour
remplacer les espaces. Ces étiquettes de colonnes dans plusieurs feuilles ont des noms différents.
Je ne les ai pas modifiés, c'est ton travail.
Les contrôles "Combobx" ne sont jamais "touchés par la procédure".
Quand tu modifies le contenu du combobox "Listing" seulement les contrôles de la feuille contenant
le nom des étiquettes de la ligne 2 de la feuille sont activés dans le formulaire.
Ton fichier : https://www.cjoint.com/c/HIlrAWyQNdF
Observe, tous les noms des "Textbox" débutent par "Txt", celui des combobox par "Cmb" et celui des
boutons de commande par "Cmd". En prenant le temps de bien nommer les contrôles, c'est beaucoup plus
facile de s'y retrouver lorsque l'on désire insérer du code!
MichD
"raptorus1er" a écrit dans le message de groupe de discussion :
RKWdneGT1ctC7QrGnZ2dnUU7983NnZ2d@giganews.com...
Le vendredi 07 Septembre 2018 à 14:12 par Michd :
Si tu veux ajouter des données (une nouvelle ligne) à un tableau
des données, voici un exemple de
code.
Si tu veux simplement modifier une donnée existante du tableau, ceci est
suffisant :
With Activesheet 'OU Worksheets("NomFeuille")
.Cells(3, 1) = "toto100"
End With
Ce code ajoute une ligne nouvelle de donnée au tableau.
'-------------------------------------
Sub Ajouter_New_Data_To_A_Table()
Dim Sh As Worksheet
Dim T As ListObject, Newrow As ListRow
Set Sh = ActiveSheet
Set T = Sh.ListObjects("Tableau1")
Set Newrow = T.ListRows.Add
With Newrow
.Range(1) = "...." 'Première colonne nouvelle ligne
.Range(2) = "......" 'Deuxième colonne ...
.Range(3) = "Ce que tu veux"
End With
End Sub
'-------------------------------------
Pour ce qui est des textbox, tu as déjà un exemple.
MichD
bonjour,
voici mon fichier avec les problèmes qui se posent à moi, à savoir:
- enregistrement des informations sur toutes les feuilles de mon classeur
- lorsque l'on passe d'une donnée à une autre dans la combobox1, les textboxs
qui ont déjà été désactivées ne sont plus actives sans avoir redémarré le
formulaire.
c'est tout ce qui me pose problème du moins pour le moment :)
https://www.cjoint.com/c/HIlhAauYsFc
toutes modifications seront les bienvenues pour faciliter l'utilisation de mon
projet.
Bonjour, Dans ton formulaire, j'ai renommé tous les contrôles "Texte" et "Combobox" du nom de l'étiquette au-dessus des contrôles respectifs. Lorsque ces étiquettes ont une appellation de plus d'un mot, le nom (propriété name) des contrôles est le même que l'étiquette + un "_" remplaçant l'espace. Les accents font aussi partie des noms des contrôles. Dans tes feuilles, le nom des étiquettes de colonnes de la ligne 2, doit avoir la même appellation que les étiquettes ou noms des contrôles du formulaire. Cependant, nul besoin d'utiliser le "_" pour remplacer les espaces. Ces étiquettes de colonnes dans plusieurs feuilles ont des noms différents. Je ne les ai pas modifiés, c'est ton travail. Les contrôles "Combobx" ne sont jamais "touchés par la procédure". Quand tu modifies le contenu du combobox "Listing" seulement les contrôles de la feuille contenant le nom des étiquettes de la ligne 2 de la feuille sont activés dans le formulaire. Ton fichier : https://www.cjoint.com/c/HIlrAWyQNdF Observe, tous les noms des "Textbox" débutent par "Txt", celui des combobox par "Cmb" et celui des boutons de commande par "Cmd". En prenant le temps de bien nommer les contrôles, c'est beaucoup plus facile de s'y retrouver lorsque l'on désire insérer du code! MichD "raptorus1er" a écrit dans le message de groupe de discussion : Le vendredi 07 Septembre 2018 à 14:12 par Michd :
Si tu veux ajouter des données (une nouvelle ligne) à un tableau des données, voici un exemple de code. Si tu veux simplement modifier une donnée existante du tableau, ceci est suffisant : With Activesheet 'OU Worksheets("NomFeuille") .Cells(3, 1) = "toto100" End With Ce code ajoute une ligne nouvelle de donnée au tableau. '------------------------------------- Sub Ajouter_New_Data_To_A_Table() Dim Sh As Worksheet Dim T As ListObject, Newrow As ListRow Set Sh = ActiveSheet Set T = Sh.ListObjects("Tableau1") Set Newrow = T.ListRows.Add With Newrow .Range(1) = "...." 'Première colonne nouvelle ligne .Range(2) = "......" 'Deuxième colonne ... .Range(3) = "Ce que tu veux" End With End Sub '------------------------------------- Pour ce qui est des textbox, tu as déjà un exemple. MichD
bonjour, voici mon fichier avec les problèmes qui se posent à moi, à savoir: - enregistrement des informations sur toutes les feuilles de mon classeur - lorsque l'on passe d'une donnée à une autre dans la combobox1, les textboxs qui ont déjà été désactivées ne sont plus actives sans avoir redémarré le formulaire. c'est tout ce qui me pose problème du moins pour le moment :) https://www.cjoint.com/c/HIlhAauYsFc toutes modifications seront les bienvenues pour faciliter l'utilisation de mon projet. merci à vous et bonne journée