Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Mise à jour de données dans un formulaire

  • Initiateur de la discussion Initiateur de la discussion philmaure
  • 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 !

philmaure

XLDnaute Impliqué
Bonjour,

Comment mettre à jour des données dans un formulaire avec un critère de choix

J'ai joint un fichier pour exemple : selon le mois sélectionné dans le formulaire, les données varient dans les textBox.

Merci pour votre aide

Cdlt
philippe
 

Pièces jointes

Re : Mise à jour de données dans un formulaire

Bonjour,

Un exemple basique qui devrait pouvoir être simplifié :
VB:
Private Sub ComboBox1_Change()
If ComboBox1.Value = Sheets("Feuil1").Range("B1").Value Then Call Cas1
If ComboBox1.Value = Sheets("Feuil1").Range("C1").Value Then Call Cas2
If ComboBox1.Value = Sheets("Feuil1").Range("D1").Value Then Call Cas3
If ComboBox1.Value = Sheets("Feuil1").Range("E1").Value Then Call Cas4
End Sub
Sub Cas1()
    TextBox1.Value = Sheets("Feuil1").Range("B2").Value
    TextBox2.Value = Sheets("Feuil1").Range("B3").Value
    TextBox3.Value = Sheets("Feuil1").Range("B4").Value
    TextBox4.Value = Sheets("Feuil1").Range("B5").Value
End Sub
Sub Cas2()
    TextBox1.Value = Sheets("Feuil1").Range("C2").Value
    TextBox2.Value = Sheets("Feuil1").Range("C3").Value
    TextBox3.Value = Sheets("Feuil1").Range("C4").Value
    TextBox4.Value = Sheets("Feuil1").Range("C5").Value
End Sub
Sub Cas3()
    TextBox1.Value = Sheets("Feuil1").Range("D2").Value
    TextBox2.Value = Sheets("Feuil1").Range("D3").Value
    TextBox3.Value = Sheets("Feuil1").Range("D4").Value
    TextBox4.Value = Sheets("Feuil1").Range("D5").Value
End Sub
Sub Cas4()
    TextBox1.Value = Sheets("Feuil1").Range("E2").Value
    TextBox2.Value = Sheets("Feuil1").Range("E3").Value
    TextBox3.Value = Sheets("Feuil1").Range("E4").Value
    TextBox4.Value = Sheets("Feuil1").Range("E5").Value
End Sub

A+
 
Re : Mise à jour de données dans un formulaire

Bonjour à tous,

Peux-tu essayer dans le module de l'USF :
Code:
Private Sub ComboBox1_Change()
    For Col = 2 To 5
    Lig = 1
    If ComboBox1.Value = Feuil1.Cells(Lig, Col) Then
    TextBox1.Value = Feuil1.Cells(Lig + 1, Col).Value
    TextBox2.Value = Feuil1.Cells(Lig + 2, Col).Value
    TextBox3.Value = Feuil1.Cells(Lig + 3, Col).Value
    TextBox4.Value = Feuil1.Cells(Lig + 4, Col).Value
    End If
    Next Col
End Sub

A+ à tous
 
Re : Mise à jour de données dans un formulaire

Bonjour à tous,
Une autre proposition . . .
Attention je viens de remarquer que textbox3 et 4 sont inversés
Bruno

Code:
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then
TextBox1 = "": TextBox2 = "": TextBox3 = "": TextBox4 = ""
Else
TextBox1 = Feuil1.Cells(2, ComboBox1.ListIndex + 2)
TextBox2 = Feuil1.Cells(3, ComboBox1.ListIndex + 2)
TextBox3 = Feuil1.Cells(4, ComboBox1.ListIndex + 2)
TextBox4 = Feuil1.Cells(5, ComboBox1.ListIndex + 2)
End If
End Sub
 
Re : Mise à jour de données dans un formulaire

re, je reviens vers vous car si sur les exemples tout fontionne bien je ne parviens pas à l'adapter sur mon fichier.
Les textbox ne se mettent pas à jour et je ne trouve pas la raison



Merci pour votre aide

Cdlt
Philippe
 

Pièces jointes

Re : Mise à jour de données dans un formulaire

Re,
Je te propose de remplacer dans nos macos Feuil1 par Feuil9
JCGL que je salue et fête en même temps son anniversaire, nous utilisons pareil le .codename de la feuille" et non le .name cela permets de pouvoir renommer l'onglet sans plantage de la macro.
Bruno
 
Re : Mise à jour de données dans un formulaire

re,

un grand merci j'ai pas tout compris ("le .codename de la feuille" et non le .name")mais cela fontionne correctement. (enfin !!)

bonne a-m
Cdlt
philippe
 
Re : Mise à jour de données dans un formulaire

RE,
me revoilà avecla suite de mon pb.
Si je fais appel a un second formulaire avec des références sur la meme feuille que le premier formulaire, les données ne se mettent pas à jour
J'ai essayer de mettre les données sur une autre feuille mais toujours le meme pb : le formulaire 1 fonctionne super bien avec vos solutions mais le formulaire 2 reste inexorablement vide.
Merci pour votre aide
Cdlt
philippe
 

Pièces jointes

Re : Mise à jour de données dans un formulaire

Re,
Voici le fichier avec les 2 versions de macros
Un combobox renvoi les chiffres comme du text donc non numéric
Pour faire la comparaison il faut utiliser Cstr(Feuil9......qui prends les chiffres en texte
Perso dans ma macro j'utilise l'index du combo donc pas ce soucis
Bruno
 

Pièces jointes

- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…