Bonjour,
je suis nouveau sur votre forum bien que je sois passé il y a une dizaine d'années, sous un autre identifiant, que je n’ai pas retrouvé.
je suis directeur adjoint d'une structure du medico social et j'ai besoin de faire des recoupements, extractions régulièrement sur excel. j'ai dcouvert les VBA grâce à vos forum, mais je ne sais que les copier et éventuellement modifer les données.
j'ai trouvé sur le forum une VBA proposé par BOISGONTIER posté en 2007.
malheureusement lorsque je l’utilise dans mon fichier j’ai une erreur qui apparait. Étant néophyte, j’ai tenté de trouver ou était le soucis, mais en vain.
j'ai d’abord cru que c’était les cellules fusionnées mais je les ai retirées. il semble que cela vienne de "l'autofilter"
pouvez vous regarder mon fichier et m'aider à comprendre ou est mon erreur ?
l'idée est de pouvoir récupérer tous les lignes contenant le nom d'un fournisseur en colonne E, sur un autre onglet. de préférence copier les données dans le nouvel onglet.
dans ce fichier je n'ai mi qu'un onglet, mais il y en a un par mois. je peux prévoir des modifications de structuration si besoin, car 2022 approche et je ferais le point avec la secrétaire.
merci d'avance
VB:
Sub ExtraitVersAutreFeuille()
critere = InputBox("Critere?")
If critere = "" Then Exit Sub
[A1].AutoFilter Field:=5, Criteria1:="*" & critere & "*"
Application.DisplayAlerts = False
On Error Resume Next
Sheets(critere).Delete
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = critere
Sheets("Feuil1").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1]
Cells.EntireColumn.AutoFit
Sheets("Feuil1").ShowAllData
End Sub
Tes données ne sont pas homogènes, il y a des trous de partout ET dans toutes tes colonnes !
Le nombre même de colonne n'est pas identique dans chaque feuille
Il faut rendre tes données cohérentes pour compter les lignes de chaque feuille, il y a des risques importants que des données soient écrasés lors de la copie des filtres de toutes les feuilles.
-Si tu renommes les onglets 1 à 12 cela ne fonctionnera plus
-Si tu rajoutes des onglets pour 2022 avec exactement la même manière que 2021 cela fonctionnera encore MAIS le filtre se fera sur 2021 ET 2022
Bonjour,
je suis nouveau sur votre forum bien que je sois passé il y a une dizaine d'années, sous un autre identifiant, que je n’ai pas retrouvé.
je suis directeur adjoint d'une structure du medico social et j'ai besoin de faire des recoupements, extractions régulièrement sur excel. j'ai dcouvert les VBA grâce à vos forum, mais je ne sais que les copier et éventuellement modifer les données.
j'ai trouvé sur le forum une VBA proposé par BOISGONTIER posté en 2007.
malheureusement lorsque je l’utilise dans mon fichier j’ai une erreur qui apparait. Étant néophyte, j’ai tenté de trouver ou était le soucis, mais en vain.
j'ai d’abord cru que c’était les cellules fusionnées mais je les ai retirées. il semble que cela vienne de "l'autofilter"
pouvez vous regarder mon fichier et m'aider à comprendre ou est mon erreur ?
l'idée est de pouvoir récupérer tous les lignes contenant le nom d'un fournisseur en colonne E, sur un autre onglet. de préférence copier les données dans le nouvel onglet.
dans ce fichier je n'ai mi qu'un onglet, mais il y en a un par mois. je peux prévoir des modifications de structuration si besoin, car 2022 approche et je ferais le point avec la secrétaire.
merci d'avance
VB:
Sub ExtraitVersAutreFeuille()
critere = InputBox("Critere?")
If critere = "" Then Exit Sub
[A1].AutoFilter Field:=5, Criteria1:="*" & critere & "*"
Application.DisplayAlerts = False
On Error Resume Next
Sheets(critere).Delete
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = critere
Sheets("Feuil1").Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Copy [A1]
Cells.EntireColumn.AutoFit
Sheets("Feuil1").ShowAllData
End Sub
merci, l'extraction marche bien mais un peu trop, car je ne peux plus voir mes autres lignes.
il serai bien que ne disparaisse pas les éléments (masqués pour le coup, mais je n'arrive plus à les afficher) mais plutôt qu'ils soit copier dans une autre onglet.
le problème précédent venait du fait qu'il n'y ai pas de tableau dynamique ?
merci de votre réactivité et de l'aide déjà apportée
c'est exactement ce que je souhaite faire, mais comment le transférer d'un fichier à un autre ?
lorsque je recree le module ou copie le code dans thisworbook, je n'arrive pas à créer le module pour cliquer.
je trouve bien la macro en passant par affichage/macros
mais les données ne sont pas trouvées dans les onglets.
1)Tu auras quelques retouches faire ==> Supprime TOUTES les lignes vides sinon cela ne fonctionnera pas
J'ai fais les 3 premiers mois je te laisse faire les autres mois
2)Pour que cela fonctionne il faut aller dans la cellule K1 de n'importe quel mois Mais il faut faire le point 1) avant
bonjour,
cela fonctionne bien mais peut on filtrer sur tous les onglets en même temps ou suis-je obliger de faire onglet par onglet. sachant que l'onglet précédent écrase le suivant.
j'ai identifier que cette ligne de code, cible la colonne ou s'effectue la recherche.
La fusion de cellule ne semble pas poser de pb.
Worksheets(VarNom).[D4].AutoFilter Field:=5, Criteria1:="*" & Critere & "*"
en focntion de mes fichier je peux donc chercher dans n'importe quelle colonne si je modifie le code sur ce chiffre ?
j'ai réussi à transposer cette macro sur un autre fichier en copiant le module et en inscrivant le le code dans thisworbook. j’imagine que "K1" peut se changer dans cette ligne de code aussi pour être déplacer ailleurs.
en tout cas cela correspond très bien à mon besoin si on peut récupérer tous les onglets dans le traitement ce sera parfait. A défaut je ferais des copier coller
Une remarque quand tu poses une question en général on réponds à la question posé mais quand à chaque post de ta part tu modifies la question.
Au départ dans ton fichier il y avait 1 seul onglet après il y a 12 onglets et maintenant il faut faire une seule extraction mais sur les 12 onglets à la fois donc tu en est à ta 3eme modification de ta demande !!!
C'est quoi la prochaine fois ?
A chaque fois tout repenser le traitement c'est pas très cool pour nous.
Tes données ne sont pas homogènes, il y a des trous de partout ET dans toutes tes colonnes !
Le nombre même de colonne n'est pas identique dans chaque feuille
Il faut rendre tes données cohérentes pour compter les lignes de chaque feuille, il y a des risques importants que des données soient écrasés lors de la copie des filtres de toutes les feuilles.
-Si tu renommes les onglets 1 à 12 cela ne fonctionnera plus
-Si tu rajoutes des onglets pour 2022 avec exactement la même manière que 2021 cela fonctionnera encore MAIS le filtre se fera sur 2021 ET 2022
Avec toutes les réserves ci dessus, je te propose ce fichier :
dans ce fichier je n'ai mi qu'un onglet, mais il y en a un par mois. je peux prévoir des modifications de structuration si besoin, car 2022 approche et je ferais le point avec la secrétaire.
Bonjour je suis désolé que mes demandes aient évolué. j'ai essayé de faire un message clair en début de post mais ce n'est peut être clair que pour moi...
en tout cas la proposition v4 correspond parfaitement. merci beaucoup.
je vais la mettre en oeuvre et preparer le fichier pour 2022 pour éviter le trous que vous m'avez nommés qui pourraient être source d’erreur.
un grande merci et désolé encore de la réécriture complète du code source.
Pour éviter les mauvaises interprétations et les quiproquos, je te conseille pour maximaliser les réponses de prendre l'habitude de mettre un fichier représentatif de 10 à 20 lignes avec tes attendus (avant/après) ET respectant le RGPD permettrait de comprendre le problème et de t'apporter une ou des réponses.
C'est quoi représentatif ?
- représentatif, même organisation des lignes et des colonnes, mêmes libellés, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ...(respect du RGPD)
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables
*Éventuellement préciser l'ordre de grandeur des lignes à traiter, exemple mon fichier comporte 1 000 lignes ou bien 20 000 lignes ==> la méthodologie peut être différents.
Une demande claire donne très souvent une réponse rapide et qui correspond au mieux à la demande.
Je suis surpris que tu te valides ton propre post comme solution alors que ce n'est pas ce post qui correspond à la réponse que tu désirais.
Le but est bien de montrer qu'une réponse a été trouvée et montrée au forum laquelle correspond à ton problème et donc à ta question.