Macro pour convertir les cellules en négatif

Fermé
yohandu12 Messages postés 14 Date d'inscription samedi 8 janvier 2011 Statut Membre Dernière intervention 21 février 2012 - 11 févr. 2012 à 10:01
yohandu12 Messages postés 14 Date d'inscription samedi 8 janvier 2011 Statut Membre Dernière intervention 21 février 2012 - 12 févr. 2012 à 20:57
Bonjour

pour mon projet,

je cherche une marco qui pourrait me convertir les valeurs en négatifs pour toutes les cellules de la colonne G

qui respecte la condition suivante: i la condition est que sur la colonne F une cellule porte le caractère "C"

Merci d'avance pour votre aide !!!!!!!!!!!
A voir également:

4 réponses

f894009 Messages postés 17187 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 1 mai 2024 1 704
Modifié par f894009 le 11/02/2012 à 10:43
Bonjour,

"qui respecte la condition suivante: i la condition est que sur la colonne F une cellule porte le caractère "C""


Un seul c dans la colonne ou un c devant la cellule G et passage en negatif de cette cellule ????
0
yohandu12 Messages postés 14 Date d'inscription samedi 8 janvier 2011 Statut Membre Dernière intervention 21 février 2012
11 févr. 2012 à 16:41
il s'agit de un C devant une cellule G et passage en négatif de cette cellule G
0
f894009 Messages postés 17187 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 1 mai 2024 1 704
11 févr. 2012 à 19:12
Re,

ouvrir le VBA avec Alt+F11 (au cas ou vous ne le saviez pas)

double click sur la feuille ou vous avez vos donnees (idem ci-dessus)

collez le code ci-dessous

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Col_F As Range, Cellule As Range, D_L_G As Long

'Recherche derniere cellule non vide Colonne G
D_L_G = Columns("G").Find("*", , , , , xlPrevious).Row

If Not Application.Intersect(Target, Range("F1:G" & D_L_G)) Is Nothing Then
Set Col_F = Range("F1:F" & D_L_G)
For Each Cellule In Col_F
If (Cellule.Value = "C" Or Cellule.Value = "c") And Range("G" & Cellule.Row) > 0 Then
Range("G" & Cellule.Row) = Range("G" & Cellule.Row) - (Range("G" & Cellule.Row) * 2)
ElseIf Cellule.Value = "" And Range("G" & Cellule.Row) < 0 Then
Range("G" & Cellule.Row) = Abs(Range("G" & Cellule.Row))
ElseIf Cellule.Value <> "" And Range("G" & Cellule.Row) = 0 Then
Cellule.Value = ""
End If
Next Cellule
End If
End Sub

Si Ok et besoin explications, pas de probleme

Bonne suite
0
yohandu12 Messages postés 14 Date d'inscription samedi 8 janvier 2011 Statut Membre Dernière intervention 21 février 2012
12 févr. 2012 à 20:57
Merci votre macro fonctionne parfaitement !!!!
0