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 :

Corriger une macro de mise à jour


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut Corriger une macro de mise à jour
    Bonjour à tous,

    Tout d'abord je voudrais remercier à nouveau ouskel'n'or pour son aide.

    En travaillant sur mon document, je me suis aperçu que la macro ne fonctionnait pas completement.
    En effet, mon fichier comporte dans la 1ère sheet, les colonnes suivantes :
    Colonne A : Voiture
    Colonne B : Référence
    Colonne C : Désignation
    ...
    Colonne G : Prix client.
    La seconde contient l'architecture suivante :
    Colonne A : Référence
    Colonne B : Code Barre
    Colonne C : Prix.
    La macro consistait à mettre à jour les prix de la sheet 1 par rapport à la sheet 2.
    Je rencontre deux soucis
    le premier est que la colonne qui contient les références est une chaîne de caractère. Voici quelques exemples :
    Référence CT250
    Référence CT2500
    Référence CT2501
    Référence CT2502
    Référence CT2503
    Lorsque je lance la macro, le prix de la référence CT250 va se mettre dans le prix de la référence CT2500. Donc erreur.
    Je n'arrive pas à trouver de solutions.
    Le second soucis est certaines références sont répétées plusieurs fois dans la Sheet 1 (certaines pièces se montent sur plusieurs véhicules). Or dans la sheet 2, la référence de la colonne A n'y est qu'une fois.
    Comment faire pour automatiser la recherche ?
    C'est à dire comment faire pour que la macro aille voir dans toutes les cellules de la colonne B (Sheet1) pour y recopier le prix chaque fois que cela est nécessaire.
    D'avance merci à tous.

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut,
    je pense que sans montrer ton code VBA, personne ne t'aidera car ton explication n'est intelligible qu'accompagnée du sujet en question.


  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut Corriger une macro de mise à jour
    Effectivement, je comprends.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub RajoutCBdansOEM()
    Dim FL1 As Worksheet
    Dim FL2 As Worksheet
    Dim c As Range, cell As Range, DerLig1 As Long, DerLig2 As Long
        Set FL1 = Worksheets("feuil1")
        Set FL2 = Worksheets("feuil2")
        DerLig1 = FL1.Cells(FL1.Rows.Count, 1).End(xlUp).Row
        DerLig2 = FL2.Cells(FL2.Rows.Count, 1).End(xlUp).Row
        'Parcours de la feuil1, colonne B
        For Each cell In FL1.Range("B2:B" & DerLig1)
             With FL2.Range("B2:B" & DerLig2)
                  Set c = .Find(cell)
                  If Not c Is Nothing Then
                       'Rajout code barre dans Feuil2
                       ' c.offset = FL2 et cell.offset = FL1
                       c.Offset(0, 2).Value = cell.Offset(0, 2)
                  End If
              End With
         Next
        Set FL1 = Nothing
        Set FL2 = Nothing
    End Sub
    Merci d'avance.

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/12/2013, 14h29
  2. Réponses: 3
    Dernier message: 06/12/2007, 11h09
  3. Lancement d'une macro après mise à jour d'une cellule
    Par Mukade dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/10/2007, 11h52
  4. Réponses: 8
    Dernier message: 09/01/2007, 16h30
  5. Optimisation d'une recherche et mise à jour
    Par gandf dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/01/2005, 18h38

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