IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

analyse d'un fichier excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut analyse d'un fichier excel
    Bonjour,
    je souheterais un petit coup de pouce.J'ai un fichier Excel contenant en moyenne 1500 lignes dans lequel je retrouve des lignes en colonne A avec comme valeur "Rayon" et sur la meme ligne en colonne B le nom du rayon.
    Exemple:
    (gencod1)
    (gencod2)
    (gencod3)
    (gencod4)
    Rayon Epicerie
    (gencod5)
    (gencod6)
    Rayon Droguerie
    Mon probleme est que je voudrai écrire dans le fichier sur chaque ligne le rayon auquel appartient chaque gencod sachant que le rayon d'affectetion est celui du bas.Dans mon exemple, gencod 1 à 4 Epicerie et 5,6 Droguerie.Ce qui au final devrait donner
    Epicerie (gencod1)
    Epicerie (gencod2)
    Epicerie (gencod3)
    Epicerie (gencod4)
    Rayon Epicerie
    Droguerie (gencod5)
    Droguerie (gencod6)
    Rayon Droguerie
    J'espère avoir été clair dans mes explications et merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Par défaut
    Bonjour,

    Le code suivant devrait fonctionner, je l'ai testé que sur 50 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim nomrayon As Variant
    Dim i As Variant
    nomrayon = ""
    For i = 1500 To 1 Step -1
    If Cells(i, 1) = "rayon" Then
    nomrayon = Cells(i, 2)
    Else
    Cells(i, 2) = nomrayon
    End If
    Next

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu pars de la dernière ligne en remontant et tant que tu n'as pas "Rayon" dans la cellule, le rayon reste le même, auquel cas tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sub test()
    dim i as long, rayon as string
        for i = split(worksheets("feuil1").usedRange.address, "$")(4) to 2 step -1
            If left(lcase(worksheets("feuil1").cells(i, 1)), 5) = "rayon" then
                rayon = mid(worksheets("feuil1").Cells(i, 1), 7, len(Worksheets("feuil1").cells(i, 1)) - 6)
                worksheets("feuil1").cells(i, 1).delete shift:=xlUp
              else
                worksheets("feuil1").cells(i, 1) = rayon & " " & worksheets("feuil1").Cells(i, 1)
            end if
        next
    end sub
    J'arrête la boucle sur la ligne 2 (to 2 step -1) car je suppose que tu as des en-têtes de colonnes

Discussions similaires

  1. Analyser fichier Excel xls
    Par remail dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/02/2010, 16h46
  2. Analyser fichier Excel automatiquement
    Par NTeeN dans le forum Développement de jobs
    Réponses: 8
    Dernier message: 25/05/2009, 10h48
  3. Réponses: 4
    Dernier message: 29/01/2009, 10h40
  4. [Excel] Analyse de fichiers Excel
    Par DeFnoX dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 05/09/2007, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo