Format de cellule incorrect après modification via questionnaire

Bonjour,

J'ai un tableau avec différentes valeurs à l'intérieur des cellules. Un autre tableau réalise des calculs entre les cellules précédantes.

J'ai créer un formulaire qui me permet de modifier la valeur des cellules de mon premier tableau. Sauf que lorsque j'effectue ces modifications en appliquant ma maccro, la valeur de la cellule est bien modifier selon mon formulaire mais son format n'est pas le bon : en effet, la valeur du chiffre est sous format texte dans la cellule. De ce fait, les calculs dans mon dernier tableau ne s'effectue pas...

Mon code est le suivant :

'Pour le formulaire

Private Sub UserForm_Initialize()

Dim J As Long

Dim I As Integer

Set Ws = Sheets("ARG2019") 'Correspond au nom de votre onglet dans le fichier Excel

With Me.ComboBox1

For J = 8 To Ws.Range("A" & Rows.Count).End(xlUp).Row 'J=3 permet de selectionner num rue 1

.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 numero de rue

Private Sub ComboBox1_Change()

Dim Ligne As Long

Dim I As Integer

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 8 'Agir ici pour gérer le décalage

For I = 1 To 6

Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)

Next I

End Sub

Private Sub CommandButton1_Click()

Dim L As Integer

If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then

L = Sheets("ARG2019").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide

Range("A" & L).Value = ComboBox1

Range("B" & L).Value = TextBox1

Range("C" & L).Value = TextBox2

Range("D" & L).Value = TextBox3

Range("E" & L).Value = TextBox4

Range("F" & L).Value = TextBox5

Range("G" & L).Value = TextBox6

End If

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 ces données ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 8

For I = 1 To 6

If Me.Controls("TextBox" & I).Visible = True Then

Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)

End If

Next I

End If

End Sub

'Pour le bouton Quitter

Private Sub CommandButton3_Click()

Unload Me

End Sub

Merci de votre aide,

CDT clement

Bonjour,

Les données contenues dans les textbox et combobox sont des chaines de caractères et non des numériques.

Utiliser les fonctions de convertion Val, CInt, CDbl .... qui conviennent au type de donnée souhaité

par exemple

Range("B" & L).Value = CDbl(TextBox1.value)

A+

Merci pour cette réponse,

J'ai procédé comme ceci : Range("D" & 10).Value = TextBox3 * 1

Cependant, cela fonctionne que pour la cellule D-10.. Comment faire pour faire ceci pour une centaine de cellule? Merci de votre aide

Clément

ça dépend !!! de la configuration, du nom des textbox, de l'ordre des cellules ....

si ça se présente comme ceci

Range("B" & L).Value = TextBox1
Range("C" & L).Value = TextBox2
Range("D" & L).Value = TextBox3
Range("E" & L).Value = TextBox4
Range("F" & L).Value = TextBox5
Range("G" & L).Value = TextBox6
.../...

la réponse est déjà (presque) présente dans le code du premier post:

For I = 1 To 6
    If Me.Controls("TextBox" & I).Visible = True Then
         Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I) * 1
    End If
Next

A+

Rechercher des sujets similaires à "format incorrect modification via questionnaire"