Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

guil456

XLDnaute Nouveau
bonjour programmeurs :)

Avançant dans mon projet, je rencontre un problème bizarre.
Avant d'enregistrer mes avancées je vérifie que ça marche bien. Or, en ayant intégré une combobox, mon programme ne marche plus. J'ai donc réouvert mon ancien fichier (sans la combobox) qui lui marchait, mais pareil il ne marche plus.

Option Explicit
Dim x As Integer
Dim y As Integer


Private Sub CommandButton1_Click()
Dim L As Byte
Cells(x, y) = TextBox1
Cells(x, y + 1) = TextBox2

If TextBox3 = "" Then
Cells(x, y + 2) = ""
ElseIf TextBox3 <> Asc(Application.International(xlDecimalSeparator)) Then
TextBox3 = ""
Else
Cells(x, y + 2).Value = CDbl(TextBox3)
End If

If TextBox4 = "" Then
Cells(x, y + 3) = ""
ElseIf TextBox4 <> Asc(Application.International(xlDecimalSeparator)) Then
TextBox4 = ""
Else
Cells(x, y + 3).Value = CDbl(TextBox4)
End If
For L = 1 To 4
Me.Controls("TextBox" & L) = ""
Next L


x=x+1

End Sub


Private Sub CommandButton2_Click()
Unload Me

End Sub



Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Or KeyAscii = 46 Then
KeyAscii = Asc(Application.International(xlDecimalSeparator))
End If
End Sub

Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Or KeyAscii = 46 Then
KeyAscii = Asc(Application.International(xlDecimalSeparator))
End If
End Sub

Private Sub UserForm_Initialize()
x = ActiveCell.Row
y = ActiveCell.Column
End Sub


J'ai supprimé les lignes superflus pour ne pas avoir un message trog long, le problème se situe avec la textbox3 et 4 qui ne remplissent plus mes cases comme ils le faisaient si bien auparavant. :confused:
C'est pourtant une version du programme qui je suis sur marchait pendant un temps!
Avez vous déjà rencontré un problème dans ce genre? aucun message d'erreur, donc ça ne m'aide pas à trouver et qui plus est, comme cela marchait pendant un temps , je ne sais pas quoi modifier pour que cela remarche...
Je suis bien embêté , j'étais sur le point de finaliser ma combobox mais le problème était le même avec les textbox 3 et 4 , alors que les 1 et 2 fonctionnent.
textbox 1 et 2 = OK
textbox 3 et 4 = PAS OK :mad:
 

guil456

XLDnaute Nouveau
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

oui , car les textbox 1 et 2 concernent du texte, les 3 et 4 des chiffres et en virgule doù le cdbl(textbox3) pour convertir la textbox en chiffres àvirgule dans les cellules dexcel.

mais elles ont marchaient très bien pendant un temps, je ne comprends vraiemnt pas pourquoi d'un coup d'un seul, elles ne fonctionnent plus...
 

fhoest

XLDnaute Accro
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

je te conseille de mettre un point d'arret et d'analyser ton code avec la touche F8 pas a pas pour lire ton programme ligne par ligne en ajoutant des espions sur les valeurs qui sont susceptibles de changer ou t 'interesser,
a+
 

Roland_M

XLDnaute Barbatruc
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

bonjour à tous

petite question toute bête !
Application.International n'est-il pas modifié dans les options Excel !?

auquel cas ton test est faux !
Asc(Application.International(xlDecimalSeparator))
 

guil456

XLDnaute Nouveau
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

je n'ai touché a rien mais peut être s'est il modifié, comment fait on pour le vérifier dans les options?

quant aux espions etc, je ne maitrise pas encore. J'ai essayé le f8, mais ca ne bloque nulle part, et les espions je ne maitrise pas. Ca ne fait qu'à peine deux trois semaines que je me mets à vba.
Je vous remercie de votre aide, ca me déprime un peu, lol, j'étais très heureux de mes avancées de cet aprem mais là je replonge quelques jours en arrière!
 

Roland_M

XLDnaute Barbatruc
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

re

en haut sur la barre des menus d'Excel, tu clic sur Outils...
puis tu sélectionnes en bas Options...
tu arriveras sur une boite dans laquelle tu cliqueras sur l'onglet 'Internationnal'
et là tu verras Gestion des nombres avec les séparateurs !
 

guil456

XLDnaute Nouveau
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

je viens de localiser le pb, en effet, c'est bien
ElseIf TextBox4 <> Asc(Application.International(xlDecimalSeparator)) Then
TextBox4 = ""
qui cloche car une fois supprimer, ca remarche! Mais si qqun mets une lettre a la place d'un nombre alors erreur...
merci en tt cas c'est déjà ca de trouver, je vais essayer de chercher une solution alternative
 

guil456

XLDnaute Nouveau
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

ok, je vous remercie pour votre patiente, j'ai office 2007 et ne trouve pas de "tools" mais maintenant que je sais ou est le pb, et que je comprends un peu pourquoi ca marchait et que ca marche plus, je vais pouvoir enfin le résoudre. Merci bien :)
 

Roland_M

XLDnaute Barbatruc
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

re

sous 2007

icône en haut à gauche
puis en bas Options Excel (à côté de quitter Excel)
et là tu choisis sur la gauche Options avancées
une fois là, à droite, tu dois voir les séparateurs
 

guil456

XLDnaute Nouveau
Re : Programme vba inchangé ne fonctionne plus comme avant. Pourquoi??

J'ai réussi avec le isnumeric, je te remercie, ainsi que robert, le isnumeric est bien plus pratique en tt cas que ce que j'avais mis (en cherchant sur les forums). De plus, je sais maintenant utiliser l'aide (qui me sera très judicieuse par la suite ) ! et j'ai aussi trouvé le séparateur dans les options, j'ai essayé ave le point, la virgule, en cochant ou non , mais ca ne marchait toujours pas.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette