Problème de signe

Résolu
kgigant Messages postés 223 Statut Membre -  
kgigant Messages postés 223 Statut Membre -
Bonjour,

Il me reste un dernier problème a résoudre qui ne doit pas etre compliquer mais je bloque...

J'ai besoin d'une macro qui me copie la case B15 de la feuille 2 pour me coller son inverse en D12 de cette meme feuille 2.

Exemple : si j'ai 5 comme valeur en B15 la macro doit ecrire -5 en D12

merci

4 réponses

  1. Yoda
     
    Bonjour,

    Pouquoi une macro? Une simple formule suffit.
    en D12 tu mets =-B5

    ;)
    0
  2. kgigant Messages postés 223 Statut Membre 9
     
    Merci de ton aide, mais je connais cette formule basique, j'ai besoin d'une petite macro car mon document est complexe et je dois l'integrer a ma macro.
    0
  3. m@rina Messages postés 27534 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    Bonjour,

    Essaie ça :

    Sub inverse()
    Dim valeur, cellule As Range
    valeur = Sheets("feuil2").Range("B15").Value
    Set cellule = Sheets("feuil2").Range("D12")
    
    negatif = -valeur
    positif = valeur
    
    If valeur < 0 Then
    cellule.Value = positif
    Else
    cellule.Value = negatif
    End If
    
    End Sub


    m@rina
    0
  4. kgigant Messages postés 223 Statut Membre 9
     
    Bonjour,

    Merci marina pour ta macro elle correspond parfaitement à ce que je voulai. Toutefois, j'ai un dernier problème, ma macro globale est constitué de plusieur formules qui se repète une dizaine de fois je m'explique :

    - je prends des données de la ligne 1 que je colle dans un tableau puis je l'imprime
    -je prends les données de la ligne 2 que je colle dans le tableau (elle remplace donc celles de la ligne 1) puis je l'imprime
    -ainsi de suite

    Par conséquent la formule que tu ma donnée est répété autant de fois qu'il y a de ligne.

    Lorsque je lance ma macro un message m'indique "déclaration existante dans la portée en cours" et elle me surligne valeur.

    Que dois faire pour que ma macro fonctionne ?
    0