VBA Excel format de cellule
Moujik1
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à importer en dernière ligne vide de ma feuille excel une plage de trois valeurs précédemment appelées dans un combobox avec la commande rowsource. Ensuite j'attribue un format à la dernière cellule copiée pour qu'elle soit un chiffre et puisse être additionnées dans mes totaux.
Mon code est le suivant :
i = 1
Sheets("Archives").Select
While Not Range("A" & i).Value = ""
i = i + 1
Wend
ComboBox1.TextColumn = 1
Range("b" & i) = ComboBox1.Text
ComboBox1.TextColumn = 2
Range("c" & i) = ComboBox1.Text
ComboBox1.TextColumn = 3
Range("d" & i) = ComboBox1.Text
Sheets("Archives").cells(i, "d").NumberFormat = "0,00 €"
il fonctionne si la valeur à rentrer dans la colonne n'a pas de décimale elle est alors considérée comme un nombre. En revanche, si je rentre une valeur avec des décimales alors le format n'est pas pris en compte et elle est considérée comme du texte.
Merci d'avance,
Je cherche à importer en dernière ligne vide de ma feuille excel une plage de trois valeurs précédemment appelées dans un combobox avec la commande rowsource. Ensuite j'attribue un format à la dernière cellule copiée pour qu'elle soit un chiffre et puisse être additionnées dans mes totaux.
Mon code est le suivant :
i = 1
Sheets("Archives").Select
While Not Range("A" & i).Value = ""
i = i + 1
Wend
ComboBox1.TextColumn = 1
Range("b" & i) = ComboBox1.Text
ComboBox1.TextColumn = 2
Range("c" & i) = ComboBox1.Text
ComboBox1.TextColumn = 3
Range("d" & i) = ComboBox1.Text
Sheets("Archives").cells(i, "d").NumberFormat = "0,00 €"
il fonctionne si la valeur à rentrer dans la colonne n'a pas de décimale elle est alors considérée comme un nombre. En revanche, si je rentre une valeur avec des décimales alors le format n'est pas pris en compte et elle est considérée comme du texte.
Merci d'avance,
A voir également:
- VBA Excel format de cellule
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Liste déroulante excel - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Excel compter cellule couleur sans vba - Guide
3 réponses
Bonjour,
Tu peux mettre tous les formats numériques que tu veux, un texte restera un texte.
Il faut convertir ton texte en numérique avant de l'inscrire dans la cellule.
Ex:
Range("d" & i) = cdbl(ComboBox1.Text)
pour convertir en réel double précision.
Le séparateur doit être correct également, comme l'a fait remarquer pijaku, pour qu'excel puisse convertir. Le replace() sera peut-être nécessaire en plus.
eric
Tu peux mettre tous les formats numériques que tu veux, un texte restera un texte.
Il faut convertir ton texte en numérique avant de l'inscrire dans la cellule.
Ex:
Range("d" & i) = cdbl(ComboBox1.Text)
pour convertir en réel double précision.
Le séparateur doit être correct également, comme l'a fait remarquer pijaku, pour qu'excel puisse convertir. Le replace() sera peut-être nécessaire en plus.
eric
Salut,
Peut être est ce du au séparateur?
VBA utilise le point comme séparateur, excel la virgule (en france).
Par conséquent, lors de "l'export" des données de VBA vers Excel, ce dernier traite les points comme du texte...
Ok?
Alors pour remédier à cela, il faut remplacer les points par des virgules :
devient donc
Si c'est pas ça, dis le...
Peut être est ce du au séparateur?
VBA utilise le point comme séparateur, excel la virgule (en france).
Par conséquent, lors de "l'export" des données de VBA vers Excel, ce dernier traite les points comme du texte...
Ok?
Alors pour remédier à cela, il faut remplacer les points par des virgules :
Range("b" & i) = ComboBox1.Text
devient donc
Range("b" & i) = Replace(ComboBox1.Text, ".", ",")
Si c'est pas ça, dis le...
bonjour,
A déplacer dans le forum Programmation
A déplacer dans le forum Programmation
bonjour,
Remarque pertinente, mais je crois qu'ici on a renoncé à déplacer ce type de sujet.
tu va tous les faire?
Remarque pertinente, mais je crois qu'ici on a renoncé à déplacer ce type de sujet.
tu va tous les faire?