extraire nombre avec condition

anna

XLDnaute Nouveau
Bonjour à toutes et à tous
dans une colonne de type
C
12354
830-
830-
258-
12578


je souhaiterai garder les nombre mais sans le tiret (-) s'il y en a
donc avoir le resultat suivent

C
12354
830
830
258
12578

j'ai besoin d'une macro qui sera utiliser dans un projet pour automatiser divers extraction
Merci d'avance
 

andré

XLDnaute Barbatruc
Salut anna,

Voici deux solutions, à ton choix (à partir de A1 et pouvant être copié vers le bas) :

=GAUCHE(A1;CHERCHE('-';A1&'-';1)-1)*1

=SI(DROITE(A1;1)='-';GAUCHE(A1;NBCAR(A1)-1)*1;A1)

La première renvoit un message d'erreur si la cellule est vide, la seconde non.

Ândré.
 
C

carole

Guest
salut,
si tu veux une macro,
dans ces cas la, tu sélectionnes une case (dans l exemple du dessous : B3) et reprends l une des formules d andré :
du style:

Range('B3').Select
ActiveCell.FormulaLocal = 'formule André'
et ca devrait marcher normalement.
 

porcinet82

XLDnaute Barbatruc
salut a tout le fil,

voila une petite macro qui devrrait te rendre service Anna, elle réalise se que tu désires, enfin normalement

Code:
Sub essai()
Range('C1').Select
For i = 1 To Range('C65536').End(xlUp).Row
    nb = InStr(1, ActiveCell.Value, '-', 1)
    If nb <> 0 Then
        ActiveCell.Value = Left(ActiveCell.Value, nb - 1)
    Else
        'rien
    End If
    Cells(i + 1, 3).Select
Next i
End Sub

bon courage pour la suite et bonne soirée a tous

@+
 

Discussions similaires

Réponses
8
Affichages
647

Statistiques des forums

Discussions
312 391
Messages
2 087 954
Membres
103 685
dernier inscrit
janguypol