Faire un calcul sur une cellule en fonction d'une lettre

Bonjour,

Je m'appelle Arnaud et je retraite régulièrement des exports comptables. Le logiciel fait un export de la balance avec 2 indications:

- XXX D : si c'est un solde débiteur

- XXX C : si c'est un solde créditeur

=> pour traduire, si je veux calculer des cellules, je souhaites la transformation suivante:

- 26578,00 D => 26578,00 = c'est un montant positif

- 359798,00 C => - 35979,00 = c'est un montant négatif

Je ne suis vraiment pas doué en VBA, je n'arrive pas à savoir comment excel peut transformer une cellule par rapport à une lettre qui y soit incluse pour en faire un calcul (et donc supprimer cette lettre)...

J'ai mis un exemple en pièce jointe.

Merci pour votre aide :)

Arnaud

Je précise que dans l'idéal, par rapport à l'exemple, je souhaite remplacer l'intérieur des cellules de la colonne C et non en rajouter une autre

Bonjour,

Une possibilité :

Sub ConvertSolde()

Dim Lig As Long

For Lig = 5 To Range("C" & Rows.Count).End(xlUp).Row
    If Range("C" & Lig) Like "* D" Then Range("C" & Lig) = 1 * Split(Range("C" & Lig), " ")(0)
    If Range("C" & Lig) Like "* C" Then Range("C" & Lig) = -Split(Range("C" & Lig), " ")(0)
Next Lig

End Sub

Bonjour à tous !

Une proposition via Power Query (Complément gratuit à installer pour Excel 2013 - Nativement intégré dans les versions postérieures) :

Note : La transformation des données peut se faire en amont de l'intégration dans le classeur Excel.

Merci beaucoup Pedro cette macro est top !

De ce que je comprends du code, la macro s'exécute à partir d'une colonne ou lignée donnée.

Est-ce possible de faire en sorte que la macro s'exécute sur les cellules sélectionnées ? (que ça soit en sélectionnant une colonne entière ou une plage de cellule avec ma souris ?

En tout cas merci beaucoup !

@JFL: j'avais aussi essayé avec Power Query mais sans succès de mon côté, mais bravo ta technique fonctionne également

Bonsoir à tous,

Est-ce possible de faire en sorte que la macro s'exécute sur les cellules sélectionnées ?

Un essai...à partir de la soluce de Pedro22

  1. clique sur le bouton
  2. sélectionne tes cellules
  3. clique sur OK

Cordialement,

Rechercher des sujets similaires à "calcul fonction lettre"