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 :

Comparer colonne avec cellule


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Comparer colonne avec cellule
    Bonjour,

    Je suis actuellement un stage, et j'ai besoin d'effectuer une partie en vba.

    Je vous expose mon problème. J'ai deux feuilles que nous appellerons feuille A et feuille B.

    Dans la feuille A se trouve une liste de produit avec leur code article, désignation et d'autres informations.

    La feuille B a été créée pour pouvoir modifier rapidement les informations contenues dans la feuille A, car il y a beaucoup de références.

    Donc en rentrant le code article dans la feuille B et par l'intermédiaire de la fonction recherche toutes les informations se réécrive dans la feuille B.

    Donc j'ai commencer le codage d'un programme, qui copie les informations de la feuille B un peu plus bas dans la feuile( de façon à ce que les formules excel ne soient pas effacées).

    et que lors de la modification de ces informations, elles soient réinjectées dans la feuille A, à la bonne ligne correspondant au code article bien sur.

    Plus clairement :
    Donc comparer le code article de la feuille B (A3) avec l'ensemnble des codes articles de la feuille A (contenu dans la colonne A), une fois kil a retrouvé le bon, sur la même ligne il copie les autres informations de la feuille B, celle que l'on a modifié.

    Mon problème est pour effectuer la comparaison entre la cellule de la feuille B et toutes les cellules de la colonne A de la feuille A.

    Une idée ?

    Merci d'avance

  2. #2
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Peut-être ceci pourra-t-il t'aider.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    je regarde et je te tiens au courant.
    Merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    j'ai essayé mais j'ai pas réussi donc je te copie le code, j'espère que tu pourras m'aider.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Private Sub Test_Click()
    Dim maVal As Variant, c As Variant, NoLigne As Long, b As Variant
    Dim lib As String
    Dim boite As Double
    Dim carton As Double
    Dim delai As Double
    Dim regap As String
    Dim prix As Double
    Dim F1 As Worksheet
     
                'récupération  des informations dans la seconde feuille à remettre dans la bonne ligne de la première feuille
            Sheets("Critère modif").Select
            b = Range("A3") 'je récupère la valeur que je recherche dans la
            lib = Range("B3")
            boite = Range("C3")
            carton = Range("D3")
            delai = Range("E3")
            regap = Range("F3")
            prix = Range("G3")
     
        Set F1 = Worksheets("conso classe A") 'Nom de ma première feuille
        maVal = b 'je rentre ce que je recherche dans maval
     
        With F1.Range("A:A") 'ma plage de recherche est tout la colonne A de la feuille conso classe A
        Set c = .Find(maVal, LookIn:=xlValues)
     
            If Not c Is Nothing Then
                Do
            NoLigne = c.Row + 1
            Sheets("conso classe A").Select
            Cells(NoLigne, 2).Value = lib 'recopie des données modifiées dans la feuille Conso classe A
            Cells(NoLigne, 17).Value = prix
            Cells(NoLigne, 20).Value = regap
            Cells(NoLigne, 21).Value = boite
            Cells(NoLigne, 22).Value = carton
            Cells(NoLigne, 23).Value = delai
     
            Set c = .FindNext(c)
     
                Loop While Not c Is Nothing And c.Row > NoLigne
            End If
        End With
        Set c = Nothing
        Set F1 = Nothing
     
    End Sub

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    je sais pas si ça fais le test correctement, et le recopiage ne passe, pas , pourtant les données sont bien récupérées j'ai vérifier dans l'affichage de variable locale en mode pas à pas !!
    :s

    help me please

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    C'est good j'ai trouvé merci.
    je sais pas pourquoi

    cete ligne ne fonctionne pas :s
    Sheets("conso classe A").Select

    donc j'ai rajouté ça
    F1.Cells(NoLigne, 2).Value = lib

    et j'ai aussi retiré le + 1 dans la boucle, il décalait d'une ligne...

  7. #7
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Je ne vois pas où est l'erreur mais j'écrirais ça comme ça
    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
        With f1.Range("A:A") 'ma plage de recherche est tout la colonne A de la feuille conso classe A
            Set c = .Find(maVal, LookIn:=xlValues)
     
            If Not c Is Nothing Then
                Do ''recopie des données modifiées dans la feuille "Conso classe A"
                   NoLigne = c.Row + 1
                   f1.Cells(NoLigne, 2).Value = lib
                   f1.Cells(NoLigne, 17).Value = prix
                   f1.Cells(NoLigne, 20).Value = regap
                   f1.Cells(NoLigne, 21).Value = boite
                   f1.Cells(NoLigne, 22).Value = carton
                   f1.Cells(NoLigne, 23).Value = delai
     
                   Set c = .FindNext(c)
     
                Loop While Not c Is Nothing And c.Row > NoLigne
            End If
        End With
    Tu testes ?
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LibreOffice][Tableur] Colonne avec cellules au contenu différent
    Par vinyloup dans le forum OpenOffice & LibreOffice
    Réponses: 8
    Dernier message: 14/09/2014, 09h17
  2. [XL-2007] Macro pour masquer les colonnes avec cellules vides
    Par Cirrus22 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/12/2009, 19h50
  3. Macro VBA pour mettre colonne en ligne avec cellule fusionnée
    Par dany13 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/01/2008, 06h09
  4. Selectionner une colonne avec des cellules fusionnées
    Par Pietro_L dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/09/2007, 07h47
  5. [Excel] Filtre de colonne avec la valeur d'une cellule
    Par repié dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2006, 14h58

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