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.
Voilà. j'espère avoir été clair et précis.
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
A vos com.
Yannick
Partager