NumberFormat décimaux

Bonjour le forum,

J'utilise ce code pour mettre mes cellules sous format nombre, cela marche mais pas pour les décimaux (ex: 1200.23) j'ai un message d'erreur apostrophe, texte

With Ws.Range("D7:eq59")
            .NumberFormat = "0"
            .Value = .Value
End With

Merci pour vos idées

Bonjour, a tester,à adapter,à faire évoluer...

Sub test()
    Dim c As Range
    Set plage = Feuil1.Range("D7:eq59")
    For Each c In plage
        If InStr(1, c, ".") Then c = CDbl(Replace(c, ".", ","))
        'c.NumberFormat = "0.00"
    Next
End Sub

Bonjour Force rouge, j'ai essayé ton code mais ca ne marche pas.

Voici mon code, et j'ai essayé du style

With Ws.Range("D7:eq59")
            .NumberFormat = "0.00"
            .Value = .Value
End With
Option Explicit

Dim Ws As Worksheet

Private Sub CommandButton6_Click() ' bouton précédent ( année )
On Error Resume Next
Me.MultiPage1.Value = Me.MultiPage1.Value - 1
End Sub

Private Sub CommandButton7_Click() ' bouton suivant ( année )
On Error Resume Next ' arret lorsque la procédure rencontre une erreur
 Me.MultiPage1.Value = Me.MultiPage1.Value + 1
End Sub

Private Sub UserForm_Initialize()

 Dim J As Long
 Dim I As Integer

 ComboBox2.ColumnCount = 1 'Pour la liste sortie
 ComboBox2.List() = Array("OUI", "NON", "") 'liste déroulante
 '(obligation de choix dans propriétés du bouton , style  2
 Set Ws = Sheets("Détail individuel") 'Correspond au nom de votre onglet dans le fichier Excel
 With Me.ComboBox1
 For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
 .AddItem Ws.Range("A" & J)
 Next J
 End With
 For I = 1 To 145 '108 corresponds au nb de textbox si ajout une textbox 108+1=109
 Me.Controls("TextBox" & I).Visible = True 'pour voir les valeur dans la textbox
 Next I

End Sub
'bouton clear permet de vider le contenu des textbox, necessaire pour ajouter un nouveau contact
Private Sub CommandButton5_Click()
If MsgBox("Attention cette action va éffacer tout le contenu des texboxs, voulez vous continuez ? Cette action est nécessaire avant l'ajout d'un actionnaire", vbYesNo) = vbYes Then
   Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then ctrl.Text = ""
    Next ctrl
    End If
End Sub
' liste déroulante nom prenom
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
 On Error Resume Next ' pour le probleme de "sortie" dans la combobox 2
 ComboBox2 = Ws.Cells(Ligne, "B")  'B est la colonne sur le tableau excel
 For I = 1 To 145 'boucle répeté 145
 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2) ' 2 corresponds au nb de combobox
 Next I
End Sub

 'calcul cumul 2015 /2016
      Sub TextBox127_Change()
    Calculcumul2016
    End Sub

    Sub TextBox128_Change()
    Calculcumul2016
    End Sub

    Sub TextBox129_Change()
    Calculcumul2016
    End Sub

    Sub TextBox130_Change()
    Calculcumul2016
    End Sub
     Sub TextBox131_Change()
    Calculcumul2016
    End Sub
    Sub Calculcumul2016() ' calcul du cumul 2016 en addittionnant les textboxs
   Me.TextBox136.Value = Val(Replace(Me.TextBox127, ",", ".")) + Val(Replace(Me.TextBox128, ",", ".")) + Val(Replace(Me.TextBox129, ",", ".")) + Val(Replace(Me.TextBox130, ",", ".")) + Val(Replace(Me.TextBox131, ",", "."))
    End Sub
    'calcul cumul 2015 /2016
      Sub TextBox136_Change()
    Calculcumul2017
    End Sub

    Sub TextBox137_Change()
    Calculcumul2017
    End Sub

    Sub TextBox138_Change()
    Calculcumul2017
    End Sub

    Sub TextBox139_Change()
    Calculcumul2017
    End Sub
     Sub TextBox140_Change()
    Calculcumul2017
    End Sub
    Sub Calculcumul2017() ' calcul du cumul 2016 en addittionnant les textboxs
   Me.TextBox145.Value = Val(Replace(Me.TextBox136, ",", ".")) + Val(Replace(Me.TextBox137, ",", ".")) + Val(Replace(Me.TextBox138, ",", ".")) + Val(Replace(Me.TextBox139, ",", ".")) + Val(Replace(Me.TextBox140, ",", "."))
    End Sub

 'Pour le bouton Modifier
Private Sub CommandButton4_Click()
 Dim Ligne As Long
 Dim I As Integer
 If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo) = vbYes Then
 If Me.ComboBox1.ListIndex = -1 Then Exit Sub
 Ligne = Me.ComboBox1.ListIndex + 2
 Ws.Cells(Ligne, "B") = ComboBox2
 For I = 1 To 145
 If Me.Controls("TextBox" & I).Visible = True Then 'prends la valeur de la textbox et integre dans excel (true = non vide )
 Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
 End If
 Next I
 End If
 'Code permettant de modifier le format de la plage de cellule en format nombre
With Ws.Range("D7:eq59")
            .NumberFormat = "0"
            .Value = .Value
End With
End Sub

Private Sub CommandButton3_Click()
MsgBox ("Avant de vouloir ajouter un actionnaire, vérrifiez bien que vous avez appuyer sur le bouton clear")
'Pour le bouton Nouveau associé
Dim Ligne As Long
Dim I As Integer
 If MsgBox("Confirmez-vous l'insertion de ce nouveau associé ?", vbYesNo) = vbYes Then
 Ligne = Sheets("Détail individuel").Range("a4").End(xlDown).Row + 1 'Pour placer le nouvel enregistrement
 'à la première ligne de tableau non vide, recherche par le haut
 Range("A" & Ligne).Value = ComboBox1
 Range("B" & Ligne).Value = ComboBox2

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

 'Code permettant de modifier le format de la plage de cellule en format nombre
With Ws.Range("D7:eq59") 'D7:df59 plage de cellule
            .NumberFormat = "0"
            .Value = .Value
End With

End Sub

'Pour le bouton Quitter
Private Sub CommandButton1_Click()
Unload Me 'quitte l'interface
End Sub

Bonjour Force rouge, j'ai essayé ton code mais ca ne marche pas

Désolé, je ne suis pas assez compétent pour vous aider à résoudre l'erreur " ca ne marche pas"

Bonne fin de journée

14classeur1.xlsm (15.51 Ko)
Rechercher des sujets similaires à "numberformat decimaux"