Erreur de compilation

  • Initiateur de la discussion Initiateur de la discussion mhz
  • Date de début Date de début

mhz

XLDnaute Junior
Bonjour,

je travaille sur la conception d'un formulaire pour gérer des aides et je rencontre plusieurs problèmes..
Je souhaite rentrer des données dans un textbox sous forme de date qui sera enregistrée dans le tableau excel. Cependant je ne trouve pas le bon code. J'ai essayé avec celui ci mais quand je clique sur F5 le message qui apparait est : erreur de compilation affiche 'instruction incorrecte à l'intérieur d'une procédure'.
Pourriez vous me donner des conseils ?
If TextBox2.Value = "Format date" Then MsgBox ("Ecrire la date au format jj/mm/aaaa")
If saisie.date_ev.Value <> "" Then
If Not IsDate(saisie.date_ev.Value) Then
MsgBox "Date incorrecte.", vbCritical + vbOKOnly, "Erreur"
saisie.date_ev.Value = ""
saisie.date_ev.SetFocus
saisie.Hide
saisie.Show
Else
saisie.date_ev.Value = ActiveCell.NumberFormat = "mm/dd/yyyy" 'date/mois inversé
Exit Sub
End If

Merci d'avance !
 

mhz

XLDnaute Junior
Re : Erreur de compilation

Merci, cela fonctionne, sauf que je peux écrire n'importe quoi dans le formulaire car le format de la date n'est pas pris en compte.
P ê que c'est pas la bonne syntaxe?!
J'ai un autre problème, j'ai créé 3 combobox.
La première fonctionne avec le code suivant :
Private Sub UserForm_Initialize()
ComboBox1.ColumnCount = 3
ComboBox1.List() = Array("", "Matérielles", "Humaines", "Financières")
End Sub

Mais les 2 autres ne fonctionne pas avec le code suivant :
Private Sub ComboBox2_Change()
ComboBox2.ColumnCount = 4
ComboBox2.List() = Array("", "CRHA", "Structure FFH", "Structure non FFH", "Sportif")
End Sub

Private Sub ComboBox3_Change()
ComboBox3.ColumnCount = 5
ComboBox3.List() = Array("", "En cour", "Validée", "Refusée")
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Erreur de compilation

Re,

place peut être tout dans la même procé dure :
Code:
Private Sub UserForm_Initialize()
 ComboBox1.ColumnCount = 3
 ComboBox1.List() = Array("", "Matérielles", "Humaines", "Financières")
 ComboBox2.ColumnCount = 4
 ComboBox2.List() = Array("", "CRHA", "Structure FFH", "Structure non FFH", "Sportif")
 ComboBox3.ColumnCount = 5
 ComboBox3.List() = Array("", "En cour", "Validée", "Refusée")
 End Sub
 

mhz

XLDnaute Junior
Re : Erreur de compilation

Re bonjour,
J'ai à nouveau une erreur de compilation...
Je souhaite que la combobox5 n'ai pas de valeurs enregistrées mais qu'elles s'enregistre au fur et à mesure que je les saisies.
Voici le code :

Option Explicit
Dim F As Worksheet
Private Sub UserForm1_Activate()
Set F = BD
iniC
End Sub

Private Sub ini(C)
C.BD = F.Range("A1", F.[A6500].End(xlUp)).Value
C = ""
End Sub

'Pour le bouton enregistrer
Private Sub CommandButton1_Click()
If Not F.[A:A].Find(C) Is Nothing Then le message qui apparait est variable non définie
MsgBox "déjà incluse dans la liste", 16, "Saisie invalidée..."
C = "": Exit Sub
End If
If MsgBox("Confirmez-vous l’insertion de cette nouvelle aide ?", 4, "Demande de confirmation d’ajout") = 7 Then C = "": Exit Sub
F.Cells(F.[A65536].End(xlUp).Row, 1)(2) = C
iniC
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="crha33", UserInterfaceOnly:=True
Dim L As Integer
If MsgBox("Confirmez-vous l’insertion de cette nouvelle aide ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("BD").Range("A65536").End(xlUp).Row + 1
Range("A" & L).Value = ComboBox5
Dim Date1 As Date
Date1 = DTPicker1.Value
Range("B" & L).Value = Date1
Range("C" & L).Value = ComboBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = ComboBox2
Range("G" & L).Value = ComboBox3
Range("H" & L).Value = ComboBox4
Dim Date2 As Date
Date2 = DTPicker2.Value
Range("I" & L).Value = Date2
Range("J" & L).Value = TextBox4
Range("K" & L).Value = TextBox5
Dim Date3 As Date
Date3 = DTPicker3.Value
Range("L" & L).Value = Date3
Range("N" & L).Value = TextBox6
Range("O" & L).Value = TextBox7
Range("P" & L).Value = TextBox8
Range("Q" & L).Value = TextBox9
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Value = ""
Next Ctrl
End If
End Sub

Je ne peux joindre le fichier car il est trop lourd...
Merci d'avance pour votre aide !
 
Dernière édition:

mhz

XLDnaute Junior
Re : Erreur de compilation

J'ai enlevé Option Explicit mais j'ai toujours un message :
'erreur d'exécution 91' Variable objet ou variable de bloc with non définie

Je comprend ce que je dois mettre a C pour le définir sachant que l'objectif est que le texte entré dans la combobox5 doit rester en mémoire?

Merci de l'aide....... :)
 

Discussions similaires

Réponses
10
Affichages
324
Réponses
2
Affichages
357
Réponses
3
Affichages
529
Réponses
10
Affichages
557
  • Question Question
Microsoft 365 erreur de date
Réponses
2
Affichages
444
Réponses
3
Affichages
763
Réponses
3
Affichages
674

Statistiques des forums

Discussions
315 290
Messages
2 118 083
Membres
113 427
dernier inscrit
alassanesow