Bonjour,

Je post içi ma 1er contribution en espérant mon étude de cas n'a pas déjà été fait et qu'elle pourra servir à d'autre.

Je cherchais comment rendre positif un nombre négatif et inversement.
Après beaucoup de recherche infructueuse (je pensais trouver une solution toute faite), je me suis mis à créer ma propre procédure.
Je tiens juste à signaler que je suis débutant et que j'ai énormément de lacune. Donc tous les conseils et remarques utiles sont les bien venu


Maintenant que c'est dit passons au choses sérieuses :

  • Copier les cellules d'une colonne sur la colonne de droite
  • Inverser les valeurs négatif en positif et positif en négatif
  • Ne pas toucher aux valeurs d'origine
  • le faire à partir d'une cellule active


A partir de la cellule active, la sélection se fait sur toutes les cellules pleines de la colonne et va donc s’arrêter dès qu'il rencontre une cellule vide.
Il copie les valeur sur la colonne de droite (attention si il y a des données, elles seront écraser. Bien ajouter une colonne vide) et inverser les valeurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Sub inversValPosNeg()
Dim var1
 
Set a = Range(Selection, Selection.End(xlDown))
Set b = Range(Selection, Selection.End(xlDown)).Offset(0, 1)
b.Clear
a.Select
Message = "vous avez selectionné les cellules " & a.Address & " afin de les copier vers " & b.Address
rep = MsgBox(Message, vbYesNo)
If rep = vbNo Then GoTo quit
a.Copy b
Set Plage = b
        For Each cell In Plage
            var1 = (cell * -1)
            cell.Value = var1
        Next
quit:
End Sub
Voilà. j'espère avoir été clair et précis.
A vos com.

Yannick