Microsoft 365 Code affichage

Marvin57

XLDnaute Occasionnel
Bonjour tout le monde,

avant de commencer je vous souhaite à toutes et à tous une Bonne Année 2024, mais surtout une bonne santé et que cette année se déroulera sans trop de problèmes, car je pense que l'année passée nous a vraiment montré que notre quotidien peut changer très vite.

Alors voila ma demande;

dans ce fichier je peux ouvrir le UserForm1 à partir de l'onglet "ouverture".
Une fois ouvert, j'aurai voulu pouvoir choisir via le combobox1 le sujet qui se trouve dans le tableau structuré de l'onglet Feuil2 en colonne Z.

Une fois le sujet choisit en combobox1, il devrait m'afficher ce qui suit;

En textbox1 les données de la colonne AQ
En textbox2 les données de la colonne AR
En textbox3 les données de la colonne AU

J'espère avoir bien expliqué mon souhait.

Je vous remercie d'avance pour votre aide

Marvin57
 

Pièces jointes

  • Marvin-Choix-par-combobox.xlsm
    23.7 KB · Affichages: 8
Solution
Je viens de rajouter un textbox (textbox4) au UserForm1 (fichier ci-joint). Si je saisi donc le nombre dans ce textbox4, il devrait s'inscrire dans le tableau de l'onglet "TEST2" colonne "W" (AN).
La macro du bouton :
VB:
Private Sub CommandButton1_Click()
Dim i As Variant
With Sheets("TEST2")
    i = Application.Match(ComboBox1, .Columns("D"), 0)
    If IsNumeric(i) Then .Range("W" & i) = TextBox4
End With
End Sub

patricktoulon

XLDnaute Barbatruc
Bonjour @Marvin57
VB:
Private Sub ComboBox1_Change()
'En textbox1 les données de la colonne AQ
'En textbox2 les données de la colonne AR
'En textbox3 les données de la colonne AU
TextBox1 = Range("Tableau1[TEST1]").Cells(ComboBox1.ListIndex + 1).Value
TextBox2 = Range("Tableau1[TEST2]").Cells(ComboBox1.ListIndex + 1).Value
TextBox3 = Range("Tableau1[TEST3]").Cells(ComboBox1.ListIndex + 1).Value
End Sub

Private Sub UserForm_Activate()
'Une fois ouvert, j'aurai voulu pouvoir choisir via le combobox1 le sujet qui se trouve dans le tableau structuré de l'onglet Feuil2 en colonne Z.
ComboBox1.List = Range("Tableau1[SUJET]").Value
End Sub
 

job75

XLDnaute Barbatruc
Bonjour Marvin57, François, Patrick, le forum,

Merci pour vos bons vœux, à vous tous je souhaite une très bonne année 2024.

Placez dans le code de l'UserForm :
VB:
Private Sub ComboBox1_Enter()
ComboBox1.List = [Tableau1].Columns("Z").Resize(, 2).Value 'au moins 2 éléments
End Sub

Private Sub ComboBox1_Change()
Dim i&
TextBox1 = "": TextBox2 = "": TextBox3 = "" 'RAZ'
i = ComboBox1.ListIndex + 1
If i = 0 Then Exit Sub
With [Tableau1]
    TextBox1 = .Cells(i, "AQ")
    TextBox2 = .Cells(i, "AR")
    TextBox3 = .Cells(i, "AU")
End With
End Sub
A+
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour @job75
meilleurs veux pour la nouvelles année la santé ,le bonheur
chez moi ta ligne ne fonctionne pas
normalement si 1 ligne c'est .column



demo.gif


normalement si 1 ligne c'est .column
sauf qu' avec ta ligne en remplacant .list" par " .Column" ca ne marche pas non plus
demo.gif



après j'avoue que les fichiers enregistrés en 365 me joue des tours de cochons sur 2013
 

Marvin57

XLDnaute Occasionnel
Chez moi sur Win11 Excel 2019 ComboBox1.List va bien, ComboBox1.Column ne va pas.
Bonjour fanfan38, Patricktoulon et bonjour job75,


Merci également à vous pour les vœux de nouvel an.

Et Merci aussi pour vos réponses et vos solutions proposées.

Après les essais je vais garder la solution de job75 qui fonctionne sans bug. Merci à vous job75.

J'aurai une dernière demande à mon sujet;

Je viens de rajouter un textbox (textbox4) au UserForm1 (fichier ci-joint). Si je saisi donc le nombre dans ce textbox4, il devrait s'inscrire dans le tableau de l'onglet "TEST2" colonne "W" (AN).

Pourriez-vous S'il vous plaît m'aider pour ce code.

Merci d'avance.

Marvin57
 

Pièces jointes

  • Marvin-Choix-par-combobox.xlsm
    28.1 KB · Affichages: 1

patricktoulon

XLDnaute Barbatruc
re
c'est bon j'ai trouvé pourquoi ca ne fonctionnait pas
j'ai enregistré le fichier et j'ai donc perdu les formules 365
la colonne SUJET ETAIT EN ERREUR
VB:
Private Sub ComboBox1_Enter()
ComboBox1.List = [Tableau1[SUJET]].Resize(, 2).Value 'au moins 2 éléments
End Sub

Private Sub ComboBox1_Change()
Dim i&
TextBox1 = "": TextBox2 = "": TextBox3 = "" 'RAZ'
i = ComboBox1.ListIndex
If i = -1 Then Exit Sub
With [Tableau1].ListObject
    TextBox1 = .ListColumns("TEST1").Range(i + 2) '.Range(i + 2)
    TextBox2 = .ListColumns("TEST2").Range(i + 2)
    TextBox3 = .ListColumns("TEST3").Range(i + 2)
End With
End Sub
 

job75

XLDnaute Barbatruc
Je viens de rajouter un textbox (textbox4) au UserForm1 (fichier ci-joint). Si je saisi donc le nombre dans ce textbox4, il devrait s'inscrire dans le tableau de l'onglet "TEST2" colonne "W" (AN).
La macro du bouton :
VB:
Private Sub CommandButton1_Click()
Dim i As Variant
With Sheets("TEST2")
    i = Application.Match(ComboBox1, .Columns("D"), 0)
    If IsNumeric(i) Then .Range("W" & i) = TextBox4
End With
End Sub
 

Pièces jointes

  • Marvin-Choix-par-combobox.xlsm
    30.2 KB · Affichages: 1

Marvin57

XLDnaute Occasionnel
La macro du bouton :
VB:
Private Sub CommandButton1_Click()
Dim i As Variant
With Sheets("TEST2")
    i = Application.Match(ComboBox1, .Columns("D"), 0)
    If IsNumeric(i) Then .Range("W" & i) = TextBox4
End With
End Sub
Re job75,

un GRAND MERCI à vous pour ce travail. 👍👍👍Tout fonctionne comme souhaité.

Merci aussi aux autres participants à ma demande. fanfan38, Patricktoulon.


Il va falloir que je m'y mette aussi un peu afin de mieux comprendre et apprendre un peu tout ce fonctionnement et ne pas toujours laisser le travail aux autres.🙃😉

Mais je vous dis quand même à bientôt peut-être.

Marvin57
 

Statistiques des forums

Discussions
315 133
Messages
2 116 600
Membres
112 801
dernier inscrit
Yaz113