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 !

Raziel abel

XLDnaute Occasionnel
Bonjour,

Je suis novice en VB mais j’ai la volonté d’apprendre (même si quelquefois j’ai envie d’arrêter en pensant que je n’y arriverai jamais…)

J’ai besoin de vos connaissances en la matiére, car je suis en train de faire un exercice pour apprendre Vba et quelques procédures m’échappent au niveau de la compréhension.

Je vous transmet le fichier Excel d’exo.

Il y’a un userform qui permet de calculer une surface selon les données rentrées.

Il y’a des contrôles qui sont mis en place en langage Vba et c’est là que j’ai besoin de vous au niveau de la traduction et de la compréhension.

Un exemple de non compréhension :

Sub Contrôle(msg, mini, maxi, saisie)
If saisie <> "" Then
If Not IsNumeric(saisie) Then
Rép = MsgBox("Merci de saisir du numérique", vbOKOnly, "OUPS")
saisie = ""
ElseIf Val(saisie) < Val(mini) Then
Rép = MsgBox("La" & msg & " ne peut être inférieur à " & mini & _
" métre(s); recommencez", vbOKOnly, "OUPS!")
saisie = "" (Pourquoi toujours dire que saisie = rien ?)
ElseIf Val(saisie) > Val(maxi) Then
Rép = MsgBox("La" & msg & " ne peut être > à " & maxi & _
" métre(s); recommencez", vbOKOnly, "OUPS!")
saisie = ""
End If
End If

Encore merci !!!!!
 

Pièces jointes

Re : Vba apprentissage

bonsoir,

en gros, la macro indiquée, sert à vérifier que ce qui est saisi est conforme, c'est à dire du numérique et non des lettres et pas < que le mini et pas > que le maxi.

ensuite à chaque fois, il y a saisie = "", celà permet de supprimer la mauvaise saisie pour repartir à zéro sans être obligé d'effacer la mauvaise saisie manuellement.

@+
 
Re : Vba apprentissage

bonsoir,

en gros, la macro indiquée, sert à vérifier que ce qui est saisi est conforme, c'est à dire du numérique et non des lettres et pas < que le mini et pas > que le maxi.

ensuite à chaque fois, il y a saisie = "", celà permet de supprimer la mauvaise saisie pour repartir à zéro sans être obligé d'effacer la mauvaise saisie manuellement.

@+

Merci beaucoup pour la traduction!!!!!!

Bonne soirée à toi et au forum!
 
Re : Vba apprentissage

Bonjour,
il y a un moyen de ne pas devoir faire une vérification de valeur numérique dans ce cas ci:
Code:
Private Sub Longueur_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
        Case 46 To 57
        Case Else: KeyAscii = 13
     If KeyAscii = 13 Then KeyAscii = 0
    End Select
longueur.Value = Replace(longueur.Value, ".", ",")
End Sub
la valeur sera forcément numérique
A+
 
Dernière édition:
Re : Vba apprentissage

Bonjour,
il y a un moyen de ne pas devoir faire une vérification de valeur numérique dans ce cas ci:
Code:
Private Sub Longueur_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
        Case 46 To 57
        Case Else: KeyAscii = 13
     If KeyAscii = 13 Then KeyAscii = 0
    End Select
longueur.Value = Replace(longueur.Value, ".", ",")
End Sub
la valeur sera forcément numérique
A+

Bonjour fhoest!!!

Dans ce qui suit [Private Sub Longueur_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)], ce que tu as mis entre parenthése sert à quoi?

Merci!!!
 
Re : Vba apprentissage

Cela sert a éviter d'avoir du texte car la touche du clavier numérique pour la virgule est un point hors si tu laisse un point ta valeur sera alors prise pour une valeur non numerique
donc on remplace le . par une ,
tout simplement
A+
 
- 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

D
Réponses
4
Affichages
1 K
H
Réponses
13
Affichages
1 K
hlawson1
H
P
  • Question Question
Réponses
1
Affichages
3 K
Patrosso
P
K
  • Résolu(e)
Réponses
6
Affichages
1 K
kondabalo
K
Réponses
0
Affichages
829
M
Réponses
13
Affichages
2 K
michoulu
M
E
Réponses
2
Affichages
2 K
Retour