• Initiateur de la discussion Initiateur de la discussion Hélène
  • 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 !

H

Hélène

Guest
Bonsoir le forum
J'ai une macro qui permet de remplir une feuille via un usf

A chaque oubli :textbox3 option button1(cds) option button2(dvds) optionbutton3(dvdgraves)
combobox1 et combobox5 il y a un message qui doit apparaitre
Les autres textbox ne serevent qu'à récupérer des informations
Tout fonctionne sauf pour les options button 1 2 et 3 soit (cds dvds dvdgraves)

L'erreur se situe entre les signes ====


Voici la macro :


Private Sub CommandButton2_Click()
If UserForm2.TextBox3 = '' Then
MsgBox 'Veuillez saisir la date', vbInformation, 'DVDTHEQUE'
UserForm2.TextBox3.SetFocus
Exit Sub
End If
===============================================
If UserForm2.CDS = False Or UserForm2.DVDS = False Or UserForm2.dvdgraves = False Then
MsgBox 'Veuillez sélectionner cd, dvd ou dvd grave', vbInformation, 'DVDTHEQUE'
UserForm2.CDS.SetFocus
UserForm2.DVDS.SetFocus
UserForm2.dvdgraves.SetFocus
Exit Sub
End If
===============================================



If UserForm2.ComboBox1.ListIndex = -1 Then
MsgBox 'Veuillez sélectionner le titre du film', vbInformation, 'DVDTHEQUE'
UserForm2.ComboBox1.SetFocus
Exit Sub
End If

If UserForm2.ComboBox5.ListIndex = -1 Then
MsgBox 'Veuillez sélectionner l'emprunteur', vbInformation, 'DVDTHEQUE'
UserForm2.ComboBox5.SetFocus
Exit Sub
End If



Sheets('PRET').Range('C65536').End(xlUp).Offset(1, 0).Value = ComboBox1.Value
Sheets('PRET').Range('D65536').End(xlUp).Offset(1, 0).Value = TextBox4.Value
Sheets('PRET').Range('E65536').End(xlUp).Offset(1, 0).Value = TextBox5.Value
Sheets('PRET').Range('F65536').End(xlUp).Offset(1, 0).Value = TextBox6.Value
Sheets('PRET').Range('G65536').End(xlUp).Offset(1, 0).Value = TextBox3.Value
Sheets('PRET').Range('H65536').End(xlUp).Offset(1, 0).Value = ComboBox5.Value



ComboBox1 = ''
TextBox4 = ''
TextBox5 = ''
TextBox6 = ''
TextBox3 = ''
ComboBox5 = ''
End Sub

Si quelqu'un pouvait m'aider à résoudre ce problème ce serait sympa de sa part
Bonne soirée
Hélène
 
Bonjour

je suppose que tu as le choix entre 1 des 3

mais dans ta ligne

If UserForm2.CDS = False Or UserForm2.DVDS = False Or UserForm2.dvdgraves = False Then

elle sera toujours exact cette condition car tu en auras toujours au moins deux de vide

remplace donc tes Or par des And

Sinon pas trop compris tes focus sur tes options buttons
 
Bonsoir le forum et Pascal 76

Merci pour ta réponse très rapide
En fait j'ai récupéré ce code et je l'ai en partie adapté sans il est vrai forcément tout comprendre mais en décorticant et en posant des questions j'avance.Petit à petit l'oiseau fait son nid .....
Merci pour cette aide

Bonne soirée
Hélène
 
Re

Sinon je vois un autre problème dans ton code

Tu ne verifies pas que tes textbox 4 5 et 6 soient remplis. Pas de problème

Mais tu remplis tes colonnes D E F sur ta première ligne non vide. Mais cette ligne ne sera peut-être pas la m^me que la colonne C par exemple

a ta place je ferais ceci

Maligne=Sheets('PRET').Range('C65536').End(xlUp).Row +1
Sheets('PRET').Range('C' & maligne)= ComboBox1.Value
Sheets('PRET').Range('D' & maligne) = TextBox4.Value
Sheets('PRET').Range('E' & maligne) = TextBox5.Value
Sheets('PRET').Range('F' & maligne) = TextBox6.Value
Sheets('PRET').Range('G' & maligne) = TextBox3.Value
Sheets('PRET').Range('H' & maligne) = ComboBox5.Value
 
Bonjour le forum
Bonjour Pascal76
Merci pour tes réponses

Je ne test pas 3 textbox car les info proviennent d'un autre tableau ou les informations sont saisies de la même façon à savoir à partir d'un usf ou la validation ne peut se faire que si toutes les textbox combobox sont renseignées et par conséquent les informations sont toutes reportées sur la même ligne

Est ce suffisant à ton avis ou dois je refaire pour adopter ta méthode?
Je garde ton code bien au chaud
Merci pour tout

Bonne journée
Hélène
 
Bonjour

Non si tu es sûre de toi tu n'auras pas de problème mais c'est vrai qu'à titre perso je trouve plus .... je ne sais pas quoi ... de recuperer la ligne et de rentrer ensuite toutes mes valeurs sur cette ligne comme dans mon exemple. Mais ce n'est que personnel et par habitude mais je me mefie toujours d'une case vide qui vient te faire un décalage quelconque dans les colonnes

Bonne journée
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
290
Réponses
9
Affichages
202
Réponses
2
Affichages
159
Réponses
3
Affichages
197
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
508
Réponses
1
Affichages
182
Retour