Copier données dans un nouvel onglet et créer un TCD
Bonjour à toutes et tous,
Je vous sollicite car je débute depuis quelques jours dans le VBA afin d'améliorer mon quotidien professionnel.
En effet, l'entreprise utilise le logiciel power Queri pour regrouper les données en temps réels. Ensuite je dois analyser ces données.
Pour que ce soit plus simple à analyser, je copie dans un autre onglet les données selon le compte de charges .
donc de mon onglet base de données, je filtre le compte 61100000 et je copie toutes toutes les données dans un onglet créer à ce nom. Les données auront toujours le colonnage de A à O
Ensuite en cellule Q, j'insert un TCD et définit certains critères. Je crée ensuite une colonne variation en soustrayant les données du dernier mois à celui du mois d'avant. ca me permet d'analyser ces variations. je rajoute aussi une colonne commentaires
Si cellule variation =0 j'aimerais que le "texte" ok s'insert en face dans commentaires et ajouter la couleur vert clair
Si cellule variation different de 0 j'aimerais que le "texte" A analyser s'insert en face dans commentaires et ajouter la couleur orange claire.
Donc j'aimerais que via 2 boutons ca cree les onglets avec les données et que l'autre crée les TCD
Débutant, j'ai suivi des tuto sur le net mais je n'arrive pas à tout combiner.
J'arrive a copier toutes données du tableau dans un autre onglet mais pas selon une sélection voulue
j'arrive à créer tous les onglets en auto selon une liste.
Je vous remercie d'avance si vous pouvez m'aider.
J'ai plusieurs idées pour améliorer mon quotidien donc je reviendrais surement encore demander votre aide.( car j'ai d'autres fichiers avec selon certains critères on dit que c'est ok ou d'autres il faut approfondir ). Si les données concernent les mois inferieur a date du jour définir ok contrôle déjà fait M-1 etc etc. Mais on verra ca dasn une autre demande
Encore merci à vous
Bonsoir,
Voici un début de solution à ta question
Dans le fichier ci-joint seul le bouton "Création onglets par compte" fonctionne et te permet de créer toutes les feuilles dont tu as besoin, évidemment en évitant les doublons.
Si cela te convient on pourra poursuivre
Bonsoir Jacky,
Désolé pour ma réponse tardive, je n'avais pas vu que j'avais eu une réponse.
Alors oui dans un premier temps, oui c'est parfait la création de chaque onglet par compte comptable.
Par contre maintenant je souhaiterais qu'en cliquant sur ce bouton , ca crée les onglets mais que ca recolle les données du 1er onglet base de données par compte . Dans mon onglet 6110000 j'avais recopier toutes les données car je ne savais faire que ca , je ne sais pas sélectionner selon le critère compte exemple 6110000 et qu'il n'y ait que ces données dans son onglet. Je m'excuse j'avais mal nommé ce bouton et ma demande était passez précise.
En fait je souhaite que ce bouton sélectionne toutes les données d'un compte et qu'il les recolle dans son onglet.
D'avance, merci a toi
Bonjour,
Heureux de savoir que ce que je t'aii proposé te convient
Pour la suite que j'ai réalisée j'ai un problème bien que tout fonctionne. En effet le bout de code que j'a écrit demande à ce que pour chaque ligne de ta base de données on passe d'une feuille à l'autre, ce qui fait que le transfert est très long, mais je répète ça fonctionne.
Pour éviter ce laps de temps trop long je me suis rapproché de certains "forumeurs" que je connais pour leur demander leur avis, c'est en cours.
Toutefois voici le bout de code que je te propose et que tu dois inscrire dans chaque feuille une fois qu'elles sont construites
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MaFeuille = ActiveSheet.Name
der = Sheets("Base de données").Cells(Rows.Count, 1).End(xlUp).Row
rg = 1
For i = 1 To der
Sheets("Base de données").Activate
If Sheets("Base de données").Range("B" & i).Value = MaFeuille Then
Sheets("Base de données").Range("A" & i & ":O" & i).Copy
Sheets(MaFeuille).Activate
Sheets(MaFeuille).Range("A" & rg).Select
rg = rg + 1
ActiveSheet.Paste
End If
Next i
End SubEnsuite avec un double clic dans la nouvelle feuille qui te concerne tu obtiendras le transfert de tes données qui lui correspondent
Bon courage
Re bonjour,
Après moultes échanges sur le Forum je peux te proposer un fichier qui doit répondre à tes besoins.
Ce produit n'est pas de moi en très grande partie, c'est pourquoi il faut principalement remercier très fortement MaFraise, LooReed et Bart qui, certainement beaucoup plus costauds que moi en VBA Excel, ont réalisé ceci
Pour lancer ta procédure il te suffit de cliquer sur le bouton Création des onglets
Pour supprimer les feuilles tu cliques sur le bouton Supprimer les feuilles
Bonsoir a tous.
Je vous remercie énormément pour le temps prit à vous occuper de ma demande. Après utilisation des fichiers j'aime beaucoup l'approche de zébulon et cela correspond à ma demande. Le seul problème est l'onglet Tdb ( même si honnêtement pour travailler c'est génial et je trouve ca super ). en effet, potentiellement des supérieurs hiérarchiques peuvent avoir un regard , un contrôle sur mes contrôles.) Donc pour une analyse c'est top car sur le même onglet on peut tout faire mais pour garder une trace toute faite pour supervision c'est moins pratique. Mais je peux m'en servir pour recopier coller l'onglet du compte vu que le TCD est fait et le début d'analyse avec la variation.
Jacky concernant ton inquiétude sur le fait que le transfert est tres long ne m'inquiète pas ( tu penses que ca peut prendre combien de temps). jusqu'a maintenant je filtrais le premier onglet par compte, je créais un nouvel onglet je collais les données du compte, je créait mon TCD et tout ça pour la vingtaine de comptes ( vous n'aviez pas tous les comptes car le fichier faisait plus de 2 mo sinon) donc ca me prenait pas mal de temps, je pense plus que le temps de transfert qui peut etre de 5mn ( Mon pc dispose de 16go de ram pour info). Jacky je te remercie aussi d'avoir demandé de l'aide à d'autres forumeurs.
Enfin, je tiens à remercier également MaFraise, LooReed et Bart qui ont permis de créer des onglets complétés des données à une vitesse grand V instantanément et on répondu présent à la demande de Jacky pour m'aider à avoir le meilleur fichier ( malheureusement et je m'en excuse mais la présentation des données ne me convient pas).
Donc en résumé si je pouvais avoir le fichier de zébulon mais avec autant d'onglet que de comptes ce serait génial. De ce fait 95% de la présentation serait effectuée , il ne resterait plus que l'analyse fine. Encore merci à tous, vous êtes impressionnants.
Bonne soirée à tous
Bonsoir,
mais la présentation des données ne me convient pas
serait-ce la disposition et emplacement des colonnes dans les feuilles construites ?
Si ce n'est que cela, alors il n'y a pas de problème majeur car dans le code de Bart la ligne
ColExtract = Array(1, 7, 9, 15, 2, 5, 11, 12, 8)permet justement de choisir les colonnes désirées et de les organiser
Quant au temps qu'il fallait pour construire le contenu des feuilles avec mon programme initial il variait, entre les différentes feuille, de 1 à 2 minutes
A+
Jacky, merci de votre retour.
Donc 1 à 2 minutes n'est pas problématique pour le temps de construction des données et des onglets.
En effet, pour le dernier fichier c'est la présentation. Je ne souhaite pas de saut de lignes vides, les mois je les préfère en colonne plutôt qu'en ligne.je vais regarder les lignes de codes.
une nouvelle fois merci à tous.
Encore moi,
Pour supprimer les sauts de lignes il suffit de supprimer la ligne suivante
iAlinea = 5 ' pour sauter un alinéa toutes les 5 lignesMerci
Oui j'avais vu aussi cette ligne. vos macros sont géniales car en plus d'être performantes, elles sont détaillées explicatives sur ce que ca entraine.
ce n'est pas juste des lignes de codes mises ou bout à bout.