Conversion d'un nombre avec un signe moins à droite en un nombre avec les signe moins à gauche

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Symptômes

Lorsque vous importez une feuille de calcul dans Microsoft Excel et que cette feuille de calcul contient des nombres avec un signe moins à droite (par exemple, 12345-), Microsoft Excel ne peut pas traiter ces nombres comme des nombres négatifs.

Cause

Microsoft Excel traite ces numéros sous forme de texte dans la mesure où le signe moins s’affiche à droite du numéro.

Solution de contournement

Il existe deux façons de résoudre ce problème :
  1. Utiliser une formule de feuille de calcul. ou

  2. Créer une macro.
Dans une feuille de calcul, utilisez la formule suivante :
   =IF(RIGHT(A1,1)="-","-"&LEFT(A1,LEN(A1)-1),A1)*1

Par exemple, procédez comme suit :

  1. Dans une feuille de calcul, entrez les informations suivantes :
          A1: 3
    A2: 2-
    A3: 1-
    A4: 4
    A5: 6-

  2. Dans la cellule B1, tapez la formule ci-dessus.
  3. Remplissez la formule dans la cellule B1 à B5.
  4. Sélectionnez les cellules B1 : B5 et cliquez sur Copier dans le menu Edition.
  5. Sélectionnez la cellule A1, puis cliquez sur Collage spécial dans le menu Edition.
  6. Cliquez sur valeurs, puis cliquez sur OK.
  7. Sélectionnez B1 : B5 et cliquez sur Supprimer dans le menu Edition.
Utilisez la macro appropriée ci-dessous correspondant à votre version de Microsoft Excel.

Remarque: vous devez sélectionner la plage de cellules contenant les valeurs que vous souhaitez modifier avant d’exécuter la macro.

Microsoft Excel Versions 5.0 et ultérieures

   Sub move_minus_left()      Dim currentcell As Object

For Each currentcell In Selection
If Right(currentcell.Value, 1) = "-" Then
currentcell.Formula = "-" & Left(currentcell.Value, _
Len(currentcell.Value) - 1)
End If
Next currentcell

End Sub

Microsoft Excel Versions 3.0, 4.0 et 4. 0 a

   A1: =FOR.CELL("Current")
A2: =SELECT(Current)
A3: =IF(RIGHT(Current,1)="-",FORMULA("-"&LEFT(Current,LEN(Current)-1)),)
A4: =NEXT()
A5: =RETURN()

Microsoft Excel Versions 2.x

   A1: Switch Minus Sign
A2: =ACTIVE.CELL()
A3: =IF(RIGHT(A2,1)="-",FORMULA("-"&LEFT(A2,LEN(A2)-1)),)
A4: =RETURN()

Propriétés

ID d'article : 42964 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires