[VB Excel] Parcourir toutes les cellules

Fermé
TiBou59 Messages postés 22 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 12 mars 2008 - 30 mai 2007 à 15:11
 Utilisateur anonyme - 30 mai 2007 à 19:35
Bonjour à tous,

J'ai un fichier Excel à traiter et je dois créer un code VB qui permette de récupérer les identifiants des catégories situés avant le "@" et les insérer à la suite des produits , en l'occurrence à la 7e colonne. Et ceci pour toutes les catégories.

Le fichier Excel présente la forme suivante :

Alimentation >> 3@
Marque Ref. ECP Ref. const Dé Prix HT Dispo
SUNBEAM SUNAL005176 ML-G ML-G Molex Light/Green 4,50 Dispo
SUNBEAM SUNAL005177 ML-B ML-B Molex Light/blue 4,50 Dispo
SUNBEAM SUNAL007340 MCK-UVB MCK-UVB kit conn Molex UV bleu 3,90 Dispo
SUNBEAM SUNAL007341 MCK-UVG MCK-UVG kit conn
Alimentation >> 4@
Marque Ref. ECP Ref. const Dé Prix HT Dispo
ENERMAX ENEAL006961 ELT400AWT-ROHS ELT400AWT Liberty 400W 57,50 Limité
ENERMAX ENEAL006962 ELT500AWT-ROHS ELT500AWT Liberty 500W 80,50 Limité
ENERMAX ENEAL006963 ELT620AWT ELT620AWT Liberty 620W 130,50 N / D


Si vous avez l'amabilité de m'aiguiller sur ce chemin tortueux, ce serait avec grand plaisir.

Merci à tous. :D

P.S : j'effectue actuellement un stage en développement Web et j'apprécie vraiment cette activité et j'ai soif d'apprendre toujours plus. Donc si vous avez le même ressenti que moi, n'hésitez pas à m'envoyer des messages pour s'aider mutuellement si c'est possible. ;)

1 réponse

Utilisateur anonyme
30 mai 2007 à 19:35
Bonjour,

en supposant que la plage de cellule à couvrir est situé de [ A1 à C10 ]

suggestion de code :

Sub LireIdentifiant()

    Dim Plage As Range, Cellule As Range
    Dim Position As Integer
    
    Set Plage = Range("A1:C10")
    
    For Each Cellule In Plage
        Position = InStr(1, Cellule.Value, "@", vbTextCompare)
        If (Position > 0) Then
            ActiveCell.Offset(0, 6).Value = Mid(Cellule.Value, 1, (Position - 1))
        End If
    Next Cellule
    
End Sub
'

Lupin
5