Comment agir sur une feuille d'un classer avec une comboBox ?
Résolu/Fermé
A voir également:
- Comment agir sur une feuille d'un classer avec une comboBox ?
- Comment supprimer une feuille sur word - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Bruler une feuille de laurier - Guide
10 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
22 juil. 2016 à 11:53
22 juil. 2016 à 11:53
Bonjour,
Tu détermine la ligne et la colonne et ceci te permet de sauvegarder dans la bonne feuille :
Tu détermine la ligne et la colonne et ceci te permet de sauvegarder dans la bonne feuille :
With Sheets(Me.ComboBox1) .Cells(ligne, colonne).Value = Me.textbox1.Value End With
Jusqu'à présent je suis bloqué, je ne parviens pas à monter dans la comboBox la liste déroulante des noms des différentes feuilles du classeur devant accueillir les données saisies dans les champs du UserForm.
Aidez-moi, je travail avec Excel 2007
Cordialement
Aidez-moi, je travail avec Excel 2007
Cordialement
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
22 juil. 2016 à 15:52
22 juil. 2016 à 15:52
Bonjour,
C'est très simple, .... lorsque l'on sait ;-) ;-)
C'est très simple, .... lorsque l'on sait ;-) ;-)
Private Sub UserForm_Initialize() Dim feu As Integer For feu = 1 To Sheets.Count Me.ComboBox1.AddItem Sheets(feu).Name Next feu End Sub
Ok, c génial, ça marche pour les noms feuilles, seulement :
Encore quelques coups de pouces
1/ Excel a chargé les noms de toutes les feuilles du classeur dans la comboBox alors que je n'ai besoin que de quelques unes de mon choix ;
2/ Aussi quand je valide l'enregistrement, les données apparaissent uniquement dans le tableau principal de ma base de données et rien n'est enregistré dans les autres feuilles (de la liste déroulante de la comboBox) censées recevoir les mêmes données.
Merci, grâce à vous je suis sur le point de rendre fonctionnel mon projet de fichier.
Cordialement à vous
Encore quelques coups de pouces
1/ Excel a chargé les noms de toutes les feuilles du classeur dans la comboBox alors que je n'ai besoin que de quelques unes de mon choix ;
2/ Aussi quand je valide l'enregistrement, les données apparaissent uniquement dans le tableau principal de ma base de données et rien n'est enregistré dans les autres feuilles (de la liste déroulante de la comboBox) censées recevoir les mêmes données.
Merci, grâce à vous je suis sur le point de rendre fonctionnel mon projet de fichier.
Cordialement à vous
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
22 juil. 2016 à 19:09
22 juil. 2016 à 19:09
1/tu ne fais
2/ censées recevoir les mêmes données si tu écris la ligne que je t'ai mis au début.
Me.ComboBox1.AddItem Sheets(feu).Nameque si le nom de feuille te convient ou tu démarres au numéro de feuille
feu = ?que tu veux.
2/ censées recevoir les mêmes données si tu écris la ligne que je t'ai mis au début.
Je sais que nous avons pris bcp de votre temps mais nous comptons sur votre compréhension.
Mon problème persiste, c'est peut être dû au code ci-dessous que j'ai déjà affecté à mon bouton "Ajouter" pour valider l'enregistrement et cela marche à l'exception du contenu des feuilles dont les noms sont dans la cliste déroulante de lacomboBox
Private SubbtnAjouter_clik()
Sheets("Ma base de données").Activate
Range("A1").select
selection.End(xlDwn).select
selection.offset(1, 0).select
ActiveCell=cboClasse.value [ici c'est une autre comboBox du Userform]
Activecell.offset(0,1).value=txtPrenom
Activecell.offset(0,2).value=txtNom
etc.......jusqu'au contenu de la dernière colonne
End Sub
Cordialement
Mon problème persiste, c'est peut être dû au code ci-dessous que j'ai déjà affecté à mon bouton "Ajouter" pour valider l'enregistrement et cela marche à l'exception du contenu des feuilles dont les noms sont dans la cliste déroulante de lacomboBox
Private SubbtnAjouter_clik()
Sheets("Ma base de données").Activate
Range("A1").select
selection.End(xlDwn).select
selection.offset(1, 0).select
ActiveCell=cboClasse.value [ici c'est une autre comboBox du Userform]
Activecell.offset(0,1).value=txtPrenom
Activecell.offset(0,2).value=txtNom
etc.......jusqu'au contenu de la dernière colonne
End Sub
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
23 juil. 2016 à 08:41
23 juil. 2016 à 08:41
Bonjour,
Lorsque tu met du code utilise les balises pour plus de lisibilité.
Voici ton code modifié, en évitant les 'select' surtout en fonctionnant sur 2 feuilles, et en documentant chaque feuille.
Lorsque tu met du code utilise les balises pour plus de lisibilité.
Voici ton code modifié, en évitant les 'select' surtout en fonctionnant sur 2 feuilles, et en documentant chaque feuille.
Private SubbtnAjouter_clik() Dim lg1 As Long, lg2 As Long Dim w1 As Worksheet, w2 As Worksheet Set w1 = Sheets("Ma base de données") lg1 = w1.Cells(Rows.Count, 1).End(xlUp).Row Set w2 = Sheets(combobox_feuilles) ' à modifier avec ton nom lg2 = w2.Cells(Rows.Count, 1).End(xlUp).Row w1.Cells(lg1, 1).Value = cboClasse.Value w2.Cells(lg2, 1).Value = cboClasse.Value w1.Cells(lg1, 2).Value = txtPrenom w2.Cells(lg2, 2).Value = txtPrenom w1.Cells(lg1, 3).Value = txtNom w2.Cells(lg2, 3).Value = txtNom etc End SubDupliquer les données ne me parait pas une bonne solution car il vaut mieux les filtrer lorsque l'on en as besoin que les avoir en double.
Ok, après avoir écrit le code modifié que vous avez bien voulu m'envoyer,
j'ai testé testé mon Userform mais j'ai reçu (après avoir clické sur le bouton "Ajouter"), le message suivant << Erreur d'exécution '13' : Incompatibilité de type>> et dans le code écrit le partie " Set w2 = Sheets(cboMois) est coloriée en jaune.
Merci encore une fois à vous
j'ai testé testé mon Userform mais j'ai reçu (après avoir clické sur le bouton "Ajouter"), le message suivant << Erreur d'exécution '13' : Incompatibilité de type>> et dans le code écrit le partie " Set w2 = Sheets(cboMois) est coloriée en jaune.
Merci encore une fois à vous
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
23 juil. 2016 à 12:03
23 juil. 2016 à 12:03
Quelle est la valeur de 'cboMois' ?
Vous voudriez bien nous excuser par rapport à notre tardive réaction ; on avais une coupure d'électricité.
La valeurs de 'cboMois' est 'Septembre', c'est le nom de la feuille que j'ai sélectionnée dans la liste déroulante 'cboMois' à partir du Userform ; d'ailleurs, au niveau du code écrit si on pointe le curseur sur 'cboMois', on voit écrit dans le ControlTipTexte 'cboMois'="Septembre".
Je ne sais si j'ai bien répondu à votre question concernant la valeur de 'cboMois' car le langage informatique ne m'est familier
La valeurs de 'cboMois' est 'Septembre', c'est le nom de la feuille que j'ai sélectionnée dans la liste déroulante 'cboMois' à partir du Userform ; d'ailleurs, au niveau du code écrit si on pointe le curseur sur 'cboMois', on voit écrit dans le ControlTipTexte 'cboMois'="Septembre".
Je ne sais si j'ai bien répondu à votre question concernant la valeur de 'cboMois' car le langage informatique ne m'est familier
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
23 juil. 2016 à 18:51
23 juil. 2016 à 18:51
Bonjour,
Essaie comme ceci cela devrait fonctionner :
Essaie comme ceci cela devrait fonctionner :
Private Sub btnAjouter_Click() Dim lg1 As Long, lg2 As Long Dim w1 As Worksheet, w2 As Worksheet Set w1 = Sheets("Ma base de données") lg1 = w1.Cells(Rows.Count, 1).End(xlUp).Row + 1 Set w2 = Sheets(cboMois.Value) lg2 = w2.Cells(Rows.Count, 1).End(xlUp).Row + 1 w1.Cells(lg1, 1).Value = cboClasse.Value w2.Cells(lg2, 1).Value = cboClasse.Value w1.Cells(lg1, 2).Value = txtPrenom.Value w2.Cells(lg2, 2).Value = txtPrenom.Value w1.Cells(lg1, 3).Value = txtNom.Value w2.Cells(lg2, 3).Value = txtNom.Value End Sub
sekouausud
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
23 juil. 2016 à 21:18
23 juil. 2016 à 21:18
Très bien et merci beaucoup à CCM particulièrement à vous gbinforme.
En plus que vous m'aidiez à écrire 2 codes encore pour 2 boutons à mettre sur le même userform :
1 bouton : pour une recherche dont les résultats vont apparaître dans les champs du formulaire:
1 bouton : pour faire et enregistrer des modifications. En fait je trouve que cela est nécessaire car j'ai relevé des données (en double) qui devraient être simplement modifiées en partie pour régler le problème des doublons et des erreurs éventuelles.
Merci encore, vous voyez bien que je ne suis pas prêt de vous lâcher de si tôt.
En plus que vous m'aidiez à écrire 2 codes encore pour 2 boutons à mettre sur le même userform :
1 bouton : pour une recherche dont les résultats vont apparaître dans les champs du formulaire:
1 bouton : pour faire et enregistrer des modifications. En fait je trouve que cela est nécessaire car j'ai relevé des données (en double) qui devraient être simplement modifiées en partie pour régler le problème des doublons et des erreurs éventuelles.
Merci encore, vous voyez bien que je ne suis pas prêt de vous lâcher de si tôt.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
23 juil. 2016 à 21:39
23 juil. 2016 à 21:39
Bonsoir,
Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, ce serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, ce serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
sekouausud
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
24 juil. 2016 à 13:30
24 juil. 2016 à 13:30
Bonjour,
Je n'arrive pas à vous envoyer mon fichier comme demandé. je ne sais pas pourquoi ?
Peux être, je m'y prends mal . Je suis sur 'joint.com' où j'ai lancé le chargement mais la page suivante ne s'ouvre pas ; non compressé mon fichier fait 42,8 ko
Merci d'avance
Je n'arrive pas à vous envoyer mon fichier comme demandé. je ne sais pas pourquoi ?
Peux être, je m'y prends mal . Je suis sur 'joint.com' où j'ai lancé le chargement mais la page suivante ne s'ouvre pas ; non compressé mon fichier fait 42,8 ko
Merci d'avance
sekouausud
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
24 juil. 2016 à 14:31
24 juil. 2016 à 14:31
Bonjour,
Finalement, j'ai réussi à télécharger le fichier et en voici le lien
http://www.cjoint.com/c/FGymwcuwoTD
Si ça marche, j'aurais à mettre dans le WorkBook 2 autres formulaires plus ou moins similaires.
Merci d'avance
Finalement, j'ai réussi à télécharger le fichier et en voici le lien
http://www.cjoint.com/c/FGymwcuwoTD
Si ça marche, j'aurais à mettre dans le WorkBook 2 autres formulaires plus ou moins similaires.
Merci d'avance
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
25 juil. 2016 à 15:11
25 juil. 2016 à 15:11
Bonjour,
Finalement je suis un peu en avance. ;-)
1 bouton : pour une recherche dont les résultats vont apparaître dans les champs du formulaire:
En fait c'est ton combobox 'aller à' qui est documenté avec ta base.
Si tu choisis la classe et/ou le mois, ils seront filtrés.
Si tu choisis un élément de 'aller à' tes saisies sont documentées et tu peux les modifier.
1 bouton : pour faire et enregistrer des modifications.
Ton bouton enregistre les modifications, même le changement de mois.
J'ai modifié la gestion du bouton ajouter qui englobe aussi modifier maintenant. Seul l'un ou l'autre ou aucun n'est disponible.
https://www.cjoint.com/c/FGzm5gdmC0l
Bon test.
Finalement je suis un peu en avance. ;-)
1 bouton : pour une recherche dont les résultats vont apparaître dans les champs du formulaire:
En fait c'est ton combobox 'aller à' qui est documenté avec ta base.
Si tu choisis la classe et/ou le mois, ils seront filtrés.
Si tu choisis un élément de 'aller à' tes saisies sont documentées et tu peux les modifier.
1 bouton : pour faire et enregistrer des modifications.
Ton bouton enregistre les modifications, même le changement de mois.
J'ai modifié la gestion du bouton ajouter qui englobe aussi modifier maintenant. Seul l'un ou l'autre ou aucun n'est disponible.
https://www.cjoint.com/c/FGzm5gdmC0l
Bon test.
Bonjour,
Merci d'avance
Vous vous êtes, sans doute, fait violence pour être en avance, je vous en suis reconnaissant.
Je termine quelques tâches professionnelles avant d'avoir le temps de tester le formulaire.
De toute façon, vous me permettrez certainement de revenir à vous si jamais je tombais encore sur des difficultés dans la manipulation du fichier.
Cordialement
Merci d'avance
Vous vous êtes, sans doute, fait violence pour être en avance, je vous en suis reconnaissant.
Je termine quelques tâches professionnelles avant d'avoir le temps de tester le formulaire.
De toute façon, vous me permettrez certainement de revenir à vous si jamais je tombais encore sur des difficultés dans la manipulation du fichier.
Cordialement
Bonsoir,
J'ai testé le formulaire mais je suis confronté au problème suivant :
Pour le même élève déjà introduis dans la base de données je ne peux pas modifier pour ajouter d'autres paiements concernant les autres mois sans effacer le 1e mois accompagnant la saisie de départ.
Dans mon projet, un même élève a la possibilité de faire plusieurs paiements en des mois différents et je ne souhaiterais pas à chaque fois reprendre la saisie de toutes les données dudit élève.
Je ne sais pas si j'ai bien assez exposé ma préoccupation.
Merci, encore une fois
J'ai testé le formulaire mais je suis confronté au problème suivant :
Pour le même élève déjà introduis dans la base de données je ne peux pas modifier pour ajouter d'autres paiements concernant les autres mois sans effacer le 1e mois accompagnant la saisie de départ.
Dans mon projet, un même élève a la possibilité de faire plusieurs paiements en des mois différents et je ne souhaiterais pas à chaque fois reprendre la saisie de toutes les données dudit élève.
Je ne sais pas si j'ai bien assez exposé ma préoccupation.
Merci, encore une fois
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
26 juil. 2016 à 08:42
26 juil. 2016 à 08:42
Bonjour,
je ne peux pas modifier pour ajouter d'autres paiements
Ce que tu appelles une modification n'en est pas une car en fait c'est un ajout.
Il faut donc modifier la gestion des boutons ajout/modif pour permettre l'ajout.
je ne peux pas modifier pour ajouter d'autres paiements
Ce que tu appelles une modification n'en est pas une car en fait c'est un ajout.
Il faut donc modifier la gestion des boutons ajout/modif pour permettre l'ajout.
sekouausud
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
26 juil. 2016 à 10:04
26 juil. 2016 à 10:04
Bonjour,
Vous avez raison et merci pour tout ce que vous m'avez apporté jusque là
Cordialement
Vous avez raison et merci pour tout ce que vous m'avez apporté jusque là
Cordialement
22 juil. 2016 à 13:09
Voudriez bien m'excuser ; mais comment faire pour charger les noms des feuilles
dans ma comboBox et cela sous forme de liste déroulante ?
Merci encore une fois pour votre disponibilité