Creation formulaire de saisi en excel

Fermé
Jean Claude - Modifié par jordane45 le 6/10/2016 à 14:15
 Jean Claude - 6 oct. 2016 à 17:43
Bonjour,

J'ai crée ma propre formulaire,et ça marche mai j'ai coincé à saisir de nombre, j'ai demande d'aide à quelqu'un et il m'a donné de code supplémentaire,quand j'ai inseré cette code, elle oriente vers la couleur jaune,et quand je clique cet couleur il mentionne ce message "Variable objet ou variable de block with non definie" Aide_moi s'il te plait; Voici mes codes

Option Explicit
Dim Ws As Worksheet

'Variable objet ou variable de block with non definie

'Pour le formulaire
Private  Sub UserForm1_Initialize()
    Dim J As Long
    Dim I As Integer
    
    ComboBox1.ColumnCount = 1 'Pour la liste d?roulante Civilit?
    
  
    
    Set Ws = Worksheets("JC OCT 2016") 'Correspond au nom de votre onglet dans le fichier Excel
    With Me.ComboBox1
        For J = 1 To Ws.Range("A" & Rows.Count).End(xlUp).Row
            .AddItem Ws.Range("A" & J)
        Next J
    End With
    For I = 1 To 6
        Me.Controls("TextBox" & I).Visible = True
    Next I
End Sub

'Pour la liste d?roulante Code client
Private Sub ComboBox1_Change()
    Dim Ligne As Long
    Dim I As Integer
    
    If Me.ComboBox1.ListIndex = -1 Then Exit Sub
    Ligne = Me.ComboBox1.ListIndex + 2
    ComboBox1 = Ws.Cells(Ligne, "A")
    For I = 1 To 6
        Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
    Next I
End Sub

'Pour le bouton Nouveau contact

Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Etes­vous certain de vouloir INSERER ce nouveau contact ?", vbYesNo, "Demande de confirmation") = vbYes Then 'condition : si oui au message
L = Sheets("JC OCT 2016").Range("a65536").End(xlUp).Row + 1 ' Permet de se positionner sur la dernière ligne de tableau NON VIDE
Range("A" & L).Value = ComboBox1 'Insère la donnée de la liste déroulante dans la colonne A
Range("B" & L).Value = TextBox1 ' Insère la donnée de la textbox1 dans la colonne B  'et à suivre....
Range("C" & L).Value = TextBox2
Range("D" & L).Value = TextBox3
Range("E" & L).Value = TextBox4
Range("F" & L).Value = TextBox5


End If
'Code permettant de modifier le format de la plage de cellule en format nombre
 With Ws.Range("D3:E100")
     .NumberFormat = "0"
     .Value = .Value
End With
' Affiche une boîte de message MsgBox ("Produit inséré dans fichier sélectionné") 'Vous informant que le présent contact est insérer dans votre tableau Excel.

End Sub

'Pour le bouton Modifier
Private Sub CommandButton2_Click()
    Dim Ligne As Long
    Dim I As Integer
    
    If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
        Ligne = Me.ComboBox1.ListIndex + 2
        Ws.Cells(Ligne, "A") = ComboBox1
        For I = 1 To 8
            If Me.Controls("TextBox" & I).Visible = True Then
                Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
            End If
        Next I
    End If

End Sub

'Pour le bouton Quitter
Private Sub CommandButton3_Click()
    Unload Me
End Sub



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
6 oct. 2016 à 14:16
Bonjour,

Sur quelle ligne est-ce qu'il te met l'erreur ?
Ne serait-ce pas sur :
  ComboBox1.ColumnCount = 1 'Pour la liste d?roulante Civilit?


Si oui... il me semble que tu as oublié un "Me"
Me.ComboBox1.ColumnCount = 1 'Pour la liste d?roulante Civilit? 
0
sur la ligne 59
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Jean Claude
Modifié par jordane45 le 6/10/2016 à 14:51
La numérotation dans le forum n'est pas top... peux tu nous copier la ligne de code concernée ?
0
'Code permettant de modifier le format de la plage de cellule en format nombre
With Ws.Range("D3:E100")
.NumberFormat = "0"
.Value = .Value
End With
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Jean Claude
6 oct. 2016 à 16:22
.Value = .Value 

Ca me parait étrange non ?

NB : pour poster du code sur le forum...merci de bien vouloir utiliser les BALISES DE CODE.
0
Excuse_moi
pouvez_vous eclaircir sur ce point,car je ne comprend pas
0