SVP j'ai besoin de vous en vba

Résolu/Fermé
usdy Messages postés 243 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 - 26 févr. 2009 à 09:30
usdy Messages postés 243 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 - 26 févr. 2009 à 11:20
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 dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 févr. 2009 à 11:04
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 lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 6
26 févr. 2009 à 11:20
je viens de tester et ça marche nickel !
merci beaucoup lermite
bonne journée
0
riske83 Messages postés 4 Date d'inscription jeudi 26 février 2009 Statut Membre Dernière intervention 26 février 2009
26 févr. 2009 à 09:44
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 lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 6
26 févr. 2009 à 10:20
merci pour votre aide
0
Mike-31 Messages postés 18350 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 28 novembre 2024 5 105
26 févr. 2009 à 09:54
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 lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 6
26 févr. 2009 à 10:32
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 dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
26 févr. 2009 à 10:22
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 lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 6
26 févr. 2009 à 10:40
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