comment differentier deux format d'une cellule (VBA macro)

hugroxx

XLDnaute Nouveau
Dsl de vous déranger,

Je travail sur une macro qui permette en fonction du format de la donnée à l'interieur de la cellule sois mis dans une colonne ou dans une autre.
En effet, si ma donnée est FM123598 je dois la mettre dans la colonne code FM sinon je dois la mettre dans la colonne DI. Et je sais pas du tout comment pouvoir reconnaitre les chiffres commençant pas FM (qui doivent aller dans la colonne code FM).

Merci d'avance de votre aide
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : comment differentier deux format d'une cellule (VBA macro)

Bonjour Hugroxx, bienvenu, bonjour le forum,

Pas sûr d'avoir bien compris ta requête, mais in simple If... Then devrait faire l'affaire.
Imaginons que les données soient dans la colonne A, le code ci-dessous pourrait convenir :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel
 
'boucle sur toutes les cellules éditées cel de la colonne A (à adapter à ton cas)
For Each cel In Range("A1:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row)
    If Left(cel.Value, 2) = "FM" Then 'condition : si les deux premiers caractères à gauche de la cellule cel sont ""FM"
        Range("FM" & cel.Row).Value = cel.Value 'la cellule dans la colonne FM prend la valeur de cel
    Else 'sinon
        Range("DI" & cel.Row).Value = cel.Value 'la cellule dans la colonne ID prend la valeur de cel
    End If 'fin de la condition
Next cel 'prochaine cellule de la colonne A
End Sub
 

Victor21

XLDnaute Barbatruc
Re : comment differentier deux format d'une cellule (VBA macro)

Bonjour, hugroxx, Robert

Le même avec une formule :code FM en B1, code DI en C1, tes données à ventiler à partir de A2
=SI(STXT($A2;1;2)=STXT(B$1;6;7);$A2;"")
en B2, à recopier à droite et vers le bas.
 

Pièces jointes

  • FMDI.xls
    13.5 KB · Affichages: 50

Pierrot93

XLDnaute Barbatruc
Re : comment differentier deux format d'une cellule (VBA macro)

Bonjour Hugrox, Robert:), Victor

A noter que l'on peu également utiliser l'opérateur "Like" pour comparer 2 chaînes de caractères :

Code:
If cel.Value Like "FM*" Then

bonne soirée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 168
Membres
103 151
dernier inscrit
nassim