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 :

Question recherche et recopie


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 34
    Par défaut Question recherche et recopie
    Bonjour,

    J'ai un fichier qui comporte dans premier onglet "données" 2 colonnes. En colonne A, les numréférence et en colonne B, la catégorie concerné de la référence.

    Je voudrais à partir de ce onglet "données", copier le numréférence ainsi que sa catégorie dans l'onglet approprié.

    Merci d'avance pour vos réponses.

    Vous trouverez en pièce jointe une ebauche du fichier Excel
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Ci-dessous une proposition
    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
    Sub test()
    Dim i As Integer, j As Integer, x As Integer, Er As String
    x = Sheets.Count
    Er = ""
     
    With Sheets("Données")
        For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
            If .Cells(i, 3) <> "X" Then
                For j = 2 To x
                    If .Cells(i, 2) = UCase(Sheets(j).Name) Then
                        .Range(.Cells(i, 1), .Cells(i, 2)).Copy Sheets(j).Cells(Rows.Count, 1).End(xlUp)(2)
                        .Cells(i, 3) = "X"
                        Exit For
                    End If
                Next j
            End If
            If .Cells(i, 3) <> "X" Then Er = Er & Chr(10) & .Cells(i, 1) & "/" & .Cells(i, 2)
        Next i
    End With
     
    If Er <> "" Then
        MsgBox "les articles suivants n'ont pas été copié :" & Chr(10) & Er
    Else
        MsgBox "tous les articles ont été copié"
    End If
     
    End Sub
    Lorsqu'un article de la base de donnée est copié dans son onglet respectif, un "X" est ajouté dans la 3ème colonne ce qui permettra d'utiliser le code plusieurs fois en ne copiant qu'une seule fois chaque article.

    Si un article ne correspond à aucun onglet, celui-ci ne sera donc pas copié et un message le signalera en fin de procédure.

Discussions similaires

  1. [WD17] Question Recherche dans une base
    Par xGuigui78 dans le forum WinDev
    Réponses: 12
    Dernier message: 15/11/2012, 16h10
  2. Question recherche dans grosse base de données
    Par Steph6768 dans le forum Requêtes
    Réponses: 12
    Dernier message: 28/02/2011, 18h27
  3. Question : Recherche d'un logiciel type power point
    Par moilou2 dans le forum Powerpoint
    Réponses: 2
    Dernier message: 30/12/2008, 22h19
  4. [Tableaux] question recherche et tri dans un tableau
    Par nicopoal dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2007, 16h41
  5. fonction de recherche et recopie
    Par mavean dans le forum Access
    Réponses: 2
    Dernier message: 20/11/2005, 12h24

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