Excel VBA exporter des données selon un critère d'un tableau vers un autre

Bonjour à tous !

Je cherche le moyen d'exporter des informations d'un tableau (ex "livres fichier source" vers un autre tableau (ex "livres fichier destination" en fonction d'un critère (dans l'exemple donné il s'agit du genre littéraire dans la colonne D du tableau "livres fichier source"). Dans le fichier destination les données importées doivent être ventilées dans 3 feuilles différentes (chaque feuille correspond à un genre). Je débute dans la programmation VBA et j'avoue avoir du mal... peut-être y-a-t-il une autre méthode ?

Merci pour l'aide que vous voudrez bien m'apporter.

Cordialement

Tatal

Bonjour,

Merci de compléter ton profil avec la version d'excel utilisée.

Re,

Une solution power query:

Lors de changement sur la feuille de base: donné -> actualiser tout

Bonsoir Numéro 2 ! (référence à une célèbre série ?)

Merci pour ta proposition Power Query. MAIS ... sauf erreur de ma part et si j'ai bien compris les requêtes tu fais le tri à partir du même fichier. En fait je cherche la même opération de tri mais à partir du 1er fichier source (sans copier les données à trier dans le fichier où se fait le tri )... il faut donc 2 fichiers ... un source et un pour importer directement les données triées sur 3 feuilles.

Si tu as le temps et si tu es motivé pour aller plus loin dans ta proposition (Je ne pensais pas à Power Query ; j'étais sur VBA mais si PQ fait l'affaire) je suis preneur...

Encore merci !

Tatal

Re,

Non plutôt un cycliste ^^

En règle général, si on a l'occasion d'éviter la macro on évite, moins lourd, souvent plus simple et gérable par tout le monde.

Pour le problème d'avoir la source sur le même fichier, on peut toujours masquer la feuille en question et juste avoir les 3 autres.

C'est aussi possible de passer avec des formules, mais il faut une légère modification du fichier source (je ne sais pas si c'est possible ?).

Ci joint un essai avec PQ, un autre avec formule et un dernier avec macro mais uniquement pour BD (pas eu la force de toutes les faire), il faudra l'adapter pour les autres.

En bref, les + et les - :

Avec PQ: pas de modif du fichier source mais demande d'actualiser après chaque modification du fichier source et demande de refaire une connexion pour chaque nouveau type de livre (fiction, manga, ...)

Avec les formules: changement en automatique, rapide et adaptable rapidement pour les nouveaux types de livres mais nécessite la modification du fichier de base.

Avec une macro: pas de modification importante du fichier source mais fichier plus lourd, plus difficile à adapter et demande d'adapter la macro pour les nouveaux types de livres.

6classeur1.xlsm (40.62 Ko)
Sub testBD()
Dim c As Range
Dim var As Long
Dim firstAddress As String
Windows("livres-fichier-source.xlsm").Activate
    With Worksheets("feuil1").Range("E3:E10")
        Set c = .Find("BD", LookIn:=xlValues)
                If Not c Is Nothing Then
                 firstAddress = c.Address
            Do
                Rows(c.Row).Copy
                Windows("Classeur1.xlsm").Activate
                Worksheets("BD macro").Select

                For var = 2 To 100
                     If Cells(var, 1) = "" Then
                        Rows(var).Select
                        ActiveCell.PasteSpecial Paste:=xlPasteValues
                        Exit For
                    End If
                Next
           Windows("livres-fichier-source.xlsm").Activate
           c.Value = " BD"
        Set c = .FindNext(c)
        Loop Until c Is Nothing
        End If
       End With
 Windows("Classeur1.xlsm").Activate

End Sub

(A noter que c'est pas le type de macro que j'effectue souvent donc elle n'est pas très belle et pas super fonctionnelle, si un pro passe dans le coin et qu'il est motivé, il te sortira surement bien mieux. En tout cas je ne pourrait pas aller plus loin )

Re !

Je pensais à la série "Le prisonnier" avec Patrick McGoohan où les personnages portent un N°... LE n°1 étant la "grosse tête".

L'homme sage est celui qui connait ses limites... Je te remercie pour la procédure, l'analyse comparative des alternatives et le temps consacré à me répondre. J'essaie cela... Je ne vais pas te harceler mais puis-je revenir éventuellement vers toi si j'ai des questions ?

Pas de problème, merci pour le retour

Rechercher des sujets similaires à "vba exporter donnees critere tableau"