Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Format de cellule incorrect après modification via questionnaire

charette36

XLDnaute Nouveau
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 ( et d'autre fonctionnalité ici pas importante). 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...

APrès de multiples recherche sur internet, je ne trouve pas la solution..

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
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…