Export de lignes d'une feuille vers une autre selon critères

Bonjour,

Je sollicite votre aide car je bloque depuis plusieurs jours sur ce problème.

J'ai parcouru beaucoup de forums avec des explications en VBA mais je suis novice et je ne sais donc pas l'appliquer à mon cas.

Je m'explique (fichier en pièce jointe) :

J'ai une base de travail dans l'onglet Base avec des personnes qui sont soit "A sortir" soit "Déjà présent". Mon fichier initial contient plus de 5000 personnes.

Je souhaiterais créer un onglet qui reprend toutes les personnes qui sont "A sortir" et un autre avec les personnes "Déjà présent" avec les mêmes données présentes dans l'onglet Base.

Suis-je obligé de passer par une macro VBA avec un bouton ? ou puis-je le faire à l'aide de simples formules ?

Merci d'avance pour vos réponses.

Bien cordialement,

Benoit

304classeur2.xlsx (10.41 Ko)

Bonjour et bienvenue sur le forum

benbis a écrit :

Suis-je obligé de passer par une macro VBA avec un bouton ?

Je ne pense pas : des experts vont certainement te proposer quelque chose.

Mais avec une base de 5000 lignes ton PC va peut-être ramer un peu.

En revanche, avec une macro et un bouton, le résultat serait instantané.

Si ça t'intéresse...

Bonne chance !

Bye !

Bonjour,

Merci pour ta réponse rapide.

Effectivement si ça rame, je préfère me tourner vers une macro et un bouton alors.

Je sais (à peu près) créer le bouton et lui associer une macro.

Par contre le langage VBA, je ne saurais pas le faire. Tu penses pouvoir m'aider ?

Merci

Benoit

Voilà :

Bye !

2'323classeur2-v1.xlsm (26.51 Ko)

Salut,

S'il il s'agit d'une utilisation ponctuelle tu peux trier/filtrer les données. Sinon un Tableau croisé dynamique.

Mais la macro est la solution qui te permettra d'arriver exactement au résultat que tu veux.

Merci beaucoup pour ta réponse gmb, c'est exactement ce que je veux !

Par contre, je ne sais pas l'adapter à mon grand fichier de base.

J'imagine que je dois changer les variables que tu as défini si je ne me trompe pas :

"Dim tablo, tabloAS(), TabloDP(), i&, j&, kDP&, kAS&"

Comment fais-tu pour les définir ? Et qu'est ce qu'elles représentent comme plage de cellule ? Je ne le vois nulle part.

Je crois comprendre que tabloAS() par exemple correspond à mon onglet "A sortir", c'est bien ça ?

Merci

Benoit

benbis a écrit :

J'imagine que je dois changer les variables que tu as défini

Pas du tout.

Il n'y a rien à changer.

Au contraire, il faut bien t'assurer que les 2 onglets où seront les résultats ont rigoureusement le même nom que celui de mon fichier.

Puis tu dois coller dans un module de ton fichier tout le code du module qui est dans le mien.

Et enfin créer un bouton et lui affecter la macro que tu viens de coller dans ton fichier.

Et ça doit marcher.

Sinon, tu as 2 options :

1 - joins ton fichier et je me chargerai de la manip. Passe par http://www.cjoint.com s'il est trop gros

2 - colle les données de ta base sur celle de mon fichier...

Comment fais-tu pour les définir ? Et qu'est ce qu'elles représentent comme plage de cellule ?

tablo, tabloAS(), TabloDP(), sont des variables ''Tableau'' qui permettent de travailler en mémoire vive, donc beaucoup plus vite qu’en lisant les données cellule par cellule sur la feuille de calcul.

Elles sont définies dans la macro :

tablo charge d’un coup toutes les données de la base, de la cellule A2 jusqu’à la dernière ligne de la colonne J

tabloAS et tabloDP se définissent à chaque changement de ligne en incrémentant leur dimention

et en chargeant les valeurs contenues dans tablo

OK ?

Bye !

Bonjour,

Apres avoir parcourru plusieurs forum, jai trouver ton post qui correspond a ce que je recherche.

je rencontre une difficulte a applique a ma situation. J"ai lu ta reponse mais je ne comprend pas :

Comment fais-tu pour les définir ? Et qu'est ce qu'elles représentent comme plage de cellule ?

Je te joint mon fichier en esperant que tu puisse m'eclairer.

merci par avance

231bd-publi.xlsm (99.24 Ko)

bonjour

drôle d'idée de penser qu'un simple filtre va caler à 5000 lignes !

pour info Power Query qui fait partie d'Excel en ingurgite des millions !

mais ici de bêtes TCD suffisent, et ils vont vite, même pour 100 000 lignes.

sauras-tu ajouter les champs à afficher dans ces TCD ?

sans VBA, et sans aucune formule

bonjour,

le fichier que tu as ouvert et joint n'est pas le mien. C'est un post que tu as repondu par le passe.

Je souhaite exporter les lignes vers une autres selon les 3 criteres suivants : gold, platinium, autres (platine, turquoise, etc..)

CI JOINT MON FICHIER

Je te remercie par avance pour ton aide.

Merci.

201bd-publi.xlsm (99.24 Ko)

Bonjour,

Ci-joint ton fichier avec un exemple, très facile à reproduire,

Cordialement,

merci de votre reponse, mais ce n"est pas ce que je recherche.

je joins le classeur 2 qu'avait fait gmb et qui correspond a ce que je recherche.

j"aimerais adapter ce code (ci dessous) a ma situation.

Option Explicit

Dim tablo, tabloAS(), TabloDP(), i&, j&, kDP&, kAS&

Sub Séparer()

tablo = Range("A2:J" & Range("A" & Rows.Count).End(xlUp).Row)

kDP = 1

kAS = 1

For i = 1 To UBound(tablo, 1)

If tablo(i, 8) = "Déjà présent" Then

ReDim Preserve TabloDP(1 To 9, 1 To kDP + 1)

For j = 1 To 7

TabloDP(j, kDP) = tablo(i, j)

Next j

For j = 9 To 10

TabloDP(j - 1, kDP) = tablo(i, j)

Next j

kDP = kDP + 1

ElseIf tablo(i, 8) = "A sortir" Then

ReDim Preserve tabloAS(1 To 9, 1 To kAS + 1)

For j = 1 To 7

tabloAS(j, kAS) = tablo(i, j)

Next j

For j = 9 To 10

tabloAS(j - 1, kAS) = tablo(i, j)

Next j

kAS = kAS + 1

End If

Next i

Sheets("GOLD").Range("A1").CurrentRegion.Offset(1, 0).ClearContents

Sheets("GOLD").Range("A2").Resize(UBound(tabloAS, 2), 9) = Application.Transpose(tabloAS)

Sheets("PLATINIUM").Range("A1").CurrentRegion.Offset(1, 0).ClearContents

Sheets("PLATINIUM").Range("A2").Resize(UBound(TabloDP, 2), 9) = Application.Transpose(TabloDP)

Sheets("AUTRES").Range("A1").CurrentRegion.Offset(1, 0).ClearContents

Sheets("AUTRES").Range("A2").Resize(UBound(TabloDP, 2), 9) = Application.Transpose(TabloDP)

MsgBox "Travail terminé."

End Sub

68classeur2-v1.xlsm (26.51 Ko)

re

voir le TCD pour Gold

(mille excuse pour confusion fichiers)

aucun VBA, aucune formule on fait de l'Excel d'abord

simple et fiable

dans 1 heure tu auras fait les autres TCD et ton mailing

Bonjour,

Je ne comprends pas pourquoi tu veux utiliser une macro que tu n'arrives pas à reproduire? tu y es obligé?,

Je pense que tu devrais utiliser les TCD, assez facile à comprendre !

Explique moi pourquoi?,

Cordialement,

bonjour,

Merci de ta reponse mais je souhaite les exporter les lignes par statut sur une nouvelles feuilles comme pour tu as fait pour le classeur 2.

pourquoi car j'en ai plus de 1000 et que derriere jai besoin des cellules avec les donnees pour y entrer une formule CONCATENER.

j ai un autred traitement pour chacun d'eux.

merci de ton aide

Bonjour à tous les experts,

Je rencontre une vraie difficulté sur excel que je n'arrive pas à la résoudre sans passer par une macro. Je suis complétement novice dans ce domaine et j'aimerai vous solliciter pour que vous m'aidiez

Dans le tableau (que je vous partage), je liste dans la feuille "Tableau de suivi", par lot toutes les demandes que que je dois faire à différentes entreprises.

Ce que j'aimerais, c'est créer en plus, une feuille par lot (lot 1 / lot 2 / ... / lot 19) et que la macro attribue à chacun des tableaux créés, en fonction de leur lot, les informations intégrés dans le tableau de suivi (feuille 1). Pour comprendre, si je rentre une infomation qui concerne le lot 3, j'aimerais que l'information soit directement retranscrite dans le tableau de la feuille spécifique du lot 3.

Avez vous compris ma demande ?

D'avance je vous remercie pour l'aide que vous pourrez m'apporter.

Merci,

Thomas

11852pdj-sav-copie.xlsx (105.12 Ko)

Bonjour Thomas TT et bienvenue sur le forum

Quelques remarques :

1 - Au lieu de formuler ton problème dans la correspondance relative à la question d'un autre, tu devrais créer une nouvelle demande qui te soit personnelle.

2 - A quoi correspondent les lignes masquées de la feuille "Tableau de suivi"

Bye !

Bonjour,

Mille excuse, je ne connais que très peu le fonctionnement des forums.

Les lignes grisées et masquées dans mon tableau correspondent aux taches demandées aux entreprises, qui ont été effectuées et pour lesquelles je souhaite conserver une trace.

As tu pu comprendre ma demande ?

Merci de ton aide,

Thomas

capture

bye !

re

salut gmb,

bon, je reste plus souple, tant pis si on prolonge le fil par une seconde question

le principe est simple :

un onglet de saisie en colonnes :

Adresse Entreprise Date de notifiacation Lot Pièce Designation Commentaire Référence Nature des travaux Date d'intervention Réserve levée Dateréserveslevées

tu peux ajouter des colonnes

toutes les dates au format jj/mm/aa OBLIGATOIRE

mets des segments pour filtrer cette feuille qui va te durer des années

filtre au quotidien Dateréserveslevées vide pour ne pas voir le passé

filtre selon l'Adresse pour un chantier

filtre selon une Ecntreprise pour voir l'Entreprise

etc.

tu peux ajouter des prix

un unique onglet ! pas de VBA

DANGER : gérer des adresses de particuliers dépend du RGPD. Voir ton juriste pour protéger ces données hyyyyyyyper-sensibles.

amitiés

Rechercher des sujets similaires à "export lignes feuille criteres"