SVP j'ai besoin de vous en vba

Résolu
usdy Messages postés 258 Statut Membre -  
usdy Messages postés 258 Statut Membre -
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
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. usdy Messages postés 258 Statut Membre 6
       
      je viens de tester et ça marche nickel !
      merci beaucoup lermite
      bonne journée
      0
  2. riske83 Messages postés 5 Statut Membre
     
    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
    1. usdy Messages postés 258 Statut Membre 6
       
      merci pour votre aide
      0
  3. Mike-31 Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
    1. usdy Messages postés 258 Statut Membre 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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. usdy Messages postés 258 Statut Membre 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