XL 2013 Erreur dans une cellule lors d'une Vba

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

aziz

XLDnaute Occasionnel
Bonjour à tous,
Voici mon souci avec mon userform :

Lorsque je fais une création client il n'y pas d'erreur dans la cellule.

Et par contre quand je souhaite faire une modif, là il y a une erreur dans la cellule ? 😕

Merci pour votre aide
 

Pièces jointes

Re : Erreur dans une cellule lors d'une Vba

Bonjour aziz

Modifie le format des colonnes par Nombre. Et dans la macro Val(TextBoxNbrAdultes) idem pour les deux autres. Pour les TextBox's numériques met l'alignement à droite. Et pour le numéro de téléphone: Format(Val(TextBoxNtelephone), "000 000 00 00")
 
Dernière édition:
Re : Erreur dans une cellule lors d'une Vba

Merci pour ta réponse, j'ai fais ceci mais cela n'a pas fonctionné


Private Sub TextBoxNbrAdultes_Change()
txtvalue = Format(Value, "00")
End Sub

Private Sub TextBoxNbrAnimaux_Change()
txtvalue = Format(Value, "00")
End Sub

Private Sub TextBoxNtelephone_Change()
txtvalue = Format(Val(TextBoxNtelephone), "000 000 00 00")
End Sub
 

Pièces jointes

Re : Erreur dans une cellule lors d'une Vba

Bonjour aziz, Lone-wolf, le Forum,

Le contenue des Textbox est toujours au format texte.

Il est donc inutile de le modifier lors de la saisie. La conversion se fera donc lors de l'enregistrement des données sur la feuille de calcul:

Code:
Private Sub CommandButton1_Click()
Dim CTRL As Control 'Variable pour la collection des controls
Dim i As Integer
Dim Response As Byte

'Si le User tente de change le nom de la ComboBox en Mode Modification
If Me.ComboBoxParNom.ListIndex = -1 Then Exit Sub 'ON sort si pas de sélection
'Ici un message demandant d'accepter les changement en les listant
Response = MsgBox("Acceptez vous les changements ? ", vbQuestion + vbOKCancel, T & " Modification de : " & Nom)
'Si Réponse OK on continue
If Response = 1 Then
    'ici avec la Feuille on va faire :
    Set WS = Worksheets("Base client")
    With WS
        .Range("A" & Me.ComboBoxParNom.ListIndex + 3) = TextBoxDate   ' On écrit dans chaque colonne les valeurs des différents controls
        .Range("C" & Me.ComboBoxParNom.ListIndex + 3) = TextBoxnom              ' Idem
        .Range("D" & Me.ComboBoxParNom.ListIndex + 3) = TextBoxAdresse            ' Idem
        .Range("E" & Me.ComboBoxParNom.ListIndex + 3) = Val(TextBoxcodepostal)             ' Idem
        .Range("F" & Me.ComboBoxParNom.ListIndex + 3) = TextBoxville            ' Idem
        .Range("G" & Me.ComboBoxParNom.ListIndex + 3) = Format(Val(TextBoxNtelephone), "000 000 00 00")
        .Range("H" & Me.ComboBoxParNom.ListIndex + 3) = TextBoxnuméroCI
        .Range("I" & Me.ComboBoxParNom.ListIndex + 3) = TextBoxmail
        .Range("j" & Me.ComboBoxParNom.ListIndex + 3) = CInt(TextBoxNbrAdultes)
        .Range("k" & Me.ComboBoxParNom.ListIndex + 3) = CInt(TextBoxNbrEnfants)
        .Range("l" & Me.ComboBoxParNom.ListIndex + 3) = CInt(TextBoxNbrAnimaux)
    End With 'On evoie un message de confirmation
    MsgBox "Opération accomplie", vbInformation, T
Else
    MsgBox "Opération annulée", vbInformation, T
End If
' On décharge le formulaire
    Unload Me
    'on ferme le formulaire
    usfnouveauclient.Hide
End Sub
Les événements Change des textbow concernés doivent donc être supprimés.

Bon dimanche.

Cordialement.
 
Re : Erreur dans une cellule lors d'une Vba

Bonjour Papou-net 🙂

À modifier aussi le code UserForm_Initialize par celui-ci et ajouter l'incrémentation des numéros des bons en colonne B.

Code:
Private Sub UserForm_Initialize()
Dim x As Integer
With Sheets("Base client")
For x = 3 To .Range("C65536").End(xlUp).Row
ComboBoxParNom.AddItem .Range("C" & x) ' on utilise la colonne C de la liste déroulante
Next x
End With
End Sub
 
Re : Erreur dans une cellule lors d'une Vba

Merci beaucoup Papou-net

derniere petite question pour la textBoxnuméroCi afin d'eviter les erreurs cellule, car des fois je peux avoir
des chiffres et des lettres en meme tps.

Enfin quel code utiliser ?
merci
 
Re : Erreur dans une cellule lors d'une Vba

RE:

J'ai bien compris que textBoxnuméroCi pouvait contenir des chiffres et des lettres, c'est la raison pour laquelle la macro recopie sa valeur sans aucun formatage. Le contenu est donc bien retransmis dans le format texte du contrôle.

A +

Cordialement.
 
- 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

Réponses
17
Affichages
321
Retour