SVP j'ai besoin de vous en vba

Résolu
usdy Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   -  
usdy Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je souhaite additionner toutes les cellules de ma colonne C, ça marche bien sauf pour certaines cellules à côté desquelles j'ai un triangle vert qui m'oblige à convertir manuellement mes valeurs en nombre et si je ne le fais pas alors mes valeurs ne seront pas prises en compte et seront ignorées lors de l'addition.

Je recherche donc une façon d'insérer cette conversion dans mon programme VBA afin que l'utilisateur n'ait pas besoin de le faire lui-même.

merci d'avance

4 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
J'ai essayé de changer le format et je n'y parvient pas non plus.
Une solution...
Sub Transcode()
Dim Lig As Long
    For Lig = 1 To Range("C65536").End(xlUp).Row
        Cells(Lig, 3) = CDbl(Cells(Lig, 3))
    Next Lig
End Sub

J'ai tester et ça fonctionne.
(En cas que.)Tu met le curseur au milieu de la macros et tu tape F5
A+
1
usdy Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   6
 
je viens de tester et ça marche nickel !
merci beaucoup lermite
bonne journée
0
riske83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,

peut être devriez vous nommé vos cellules sous VBA "AS Double" pour qu'il les reconnaisse comme une valeur.

J'espère vous avoir aidé

bonne journée
0
usdy Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   6
 
merci pour votre aide
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Certaines cellules son en format texte

sans VBA mets ta plage en surbrillance et clic sur le petit pictogramme dont tu fais référence et convertir en nombre

ou saisis 1 dans une cellule fais Edition/copier de cette cellule, mets la plage à traiter en surbrillance Edition/collage spécial coche multiflication et OK

Si tu veux passer en VBA avec l'assistant macro tu fais cette dernière manip pour avoir ce genre de code

Range("A1").Select
Selection.Copy
Range("D1:D50").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply

A+
0
usdy Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   6
 
hello Mike !
j'ai testé ce que tu m'as proposé mais malheureusement ça ne fonctionne toujours pas, il multiplie bien le bloc de cellules pas 1 mais il me met toujours le petit triangle vert pour la conversion "to number".
Aurais-tu par hasard une autre idée ?
Merci d'avoir étudié mon problème.
A+
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Petite précision, si les nombres entrer en texte le sont avec un point à la place de la virgule il n'est pas possible de les transformer en nombre.
Il faut remplacer les points par des virgules avec du VBA
En cas que...
Sub Virgule()
Dim Lig As Long
    For Lig = 1 To Range("C65536").End(xlUp).Row
        Cells(Lig, 3) = Replace(Cells(Lig, 3), ".", ",")
    Next Lig
End Sub

A+
0
usdy Messages postés 243 Date d'inscription   Statut Membre Dernière intervention   6
 
salut Lermite,
les chiffres sont bien avec des virgules et non des points, mais est ce que le souci pourrait venir du fait que la colonne qui me pose problème résulte d'un copier-coller d'un fichier excel qui était initialement un fichier texte ?

Merci pour ton aide.
0