Inverser toutes les valeurs d'une colonne

Résolu
colbubu -  
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

c'est surement une question idiote que je vais poser je voulais savoir si il est possible de changer toutes les valeurs d'une colonne de façon à ce que les valeurs positives deviennent négatives et vice versa

merci de votre aide

PS:via VBA bien sur



A voir également:

6 réponses

Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
if(nb != 0)
{
nb = nb * (-1)
}


les nb négatifs deviennent positifs, et vice versa. Le 0 reste 0
0
colbubu
 
je suis pas sur que c est du vba mais je vais tenter de modifier ça
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Non ça n'est pas du vba mais c'est ce que tu dois faire. Multiplier tes valeurs par -1. Je sais plus la syntaxe en vba mais si tu es dessus ça ne doit pas te poser de problème majeur pour faire ça
0
colbubu
 
exact j'ai réussi à le faire de cette façon mais il reste un bug je sais pas si ça vient de l'ordi ou moi mais voila ce que j'ai écrit
        For Each cell In Selection
        If cell.Value <> 0 Then cell.Value = cell.Value * (-1)
        Next


je pense qu'il n'y a pas d'erreur mais je me retrouve dans chaque page de mon classeur a l'endroit ou je lui ai indiqué de remplacer les memes valeurs comme si il avait copier coller la premiere page dans les autres

je vais montrer ma partie de code pour que tu comprenne mais je ne sais pas ou est l'erreur
Do While ficha <> ""
    i = 2
    Workbooks.Open repertoire & "\" & ficha
    Range("1:8,11:38").Select
    Range("A11").Activate
    Selection.Delete Shift:=xlUp

    Set source = ActiveWorkbook
    Range("A1").Select
    Set a = Sheets(Replace(ficha, ".ASC", "")).UsedRange.Find("*Temps" & "*", , , xlWhole)
    Set b = Sheets(Replace(ficha, ".ASC", "")).UsedRange.Find("*FORCE" & "*", , , xlWhole)
    Set c = Sheets(Replace(ficha, ".ASC", "")).UsedRange.Find("*LVDT" & "*", , , xlWhole)
    
    
    Do Until b Is Nothing
        
        Range(Cells(3, (i - 2) * 6 + 1), Cells(3, (i - 2) * 6 + 1).End(xlDown)).Copy
        i = i + 1
        model.Activate
        If i > Sheets.Count Then Exit Do
        model.Sheets(i).Activate
        Range("B2").PasteSpecial
        
        source.Activate
        Range(Cells(3, b.Column), Cells(3, b.Column).End(xlDown)).Copy
        model.Sheets(i).Range("C2").PasteSpecial
        
        source.Activate
        Range(Cells(3, c.Column), Cells(3, c.Column).End(xlDown)).Copy
        model.Sheets(i).Range("D2").PasteSpecial
    
        model.Activate
        Sheets(i).Range(Cells(502, 2), Cells(502, 2).End(xlToRight).End(xlDown)).Delete
        
        Range("C2", Cells(2, 3).End(xlDown)).Select
        For Each cell In Selection
        If cell.Value <> 0 Then cell.Value = cell.Value * (-1)
        Next
        model.Activate
        Sheets(i).Activate
        source.Activate
        Set a = Sheets(Replace(ficha, ".ASC", "")).UsedRange.Find("*Temps" & "*", , , xlWhole)
        Set b = Sheets(Replace(ficha, ".ASC", "")).UsedRange.Find("*FORCE" & "*", , , xlWhole)
        Set c = Sheets(Replace(ficha, ".ASC", "")).UsedRange.Find("*LVDT" & "*", , , xlWhole)

    Loop
    source.SaveAs repertoire & "\" & Replace(ficha, ".ASC", "test.xls"), FileFormat:=xlExcel8
    source.Close savechanges = False
    model.SaveAs repertoire & "\" & Replace(ficha, ".ASC", ".xls"), FileFormat:=xlExcel8
    ficha = Dir

Loop
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
colbubu
 
re en fait c'est ma connerie c'est a cause du find j'ai oublié de supprimmer les valeurs qu'il avait déja trouvé
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Ok. Tout va bien donc?
0