Transfert de données d'un onglet à un autre sous condition

Bonjour à tous,

Dans le cadre de mon boulot, j'ai créé une feuille Excel me permettant de faire le suivi de plusieurs casinos.

Il y a un onglet par casino et quatre autres onglets pour les statistiques ou autres données compilées.

Ainsi, dans l'onglet "Autorisation de jeux", j'ai un récapitulatif pour chaque casino.

Je ne vais parler que de DEAUVILLE dans ma demande, je devrai pouvoir transposer pour les autres.

Donc dans la cellule E16 de l'onglet "Autorisation de jeux", j'ai le nombre de machines à sous exploitées à un moment donné.

Ce nombre est appelé à changer en fonction de la variation de l'offre de jeux du casino et donc, c'est une cellule que je modifie manuellement lorsque l'occasion le demande.

Systématiquement, lorsque je modifie cette cellule en ligne 16, je modifie également la date en E6.

Cette donnée en E16 (onglet "Autorisation de jeux"), je dois la retrouver dans l'onglet "DEAUVILLE" dans les cellules allant de U30 à U41.

Mais comme vous pouvez le voir, les données en cellules U30 à U41 correspondent à des dates au format mois/année (B30 et suivants). Ainsi, à la fin Novembre 2020, il y avait 297 machines exploitées à DEAUVILLE.

Pour le moment, je renseigne manuellement ces cellules en U chaque mois mais je voudrais automatiser ça en fonction de la donnée présente en E16 dans l'onglet "Autorisation de jeux" et de la modification de la date en E6 dans ce même onglet.

Donc en fait, tant que la cellule E6 de l'onglet "Autorisation de jeux" est vide ou n'a pas été modifiée, le chiffre que je dois retrouver en U de l'onglet DEAUVILLE ne doit pas être modifié.

Par exemple, dans la feuille que je vous ai jointe, sur les trois premiers mois de l'exercice, le nombre de machines n'a pas changé ; il est de 297.

Mais si je mets par exemple une date dans la case E6 (onglet "Autorisation de jeux"), par exemple "15/03/2021" et "300" dans la cellule E16, je voudrais retrouver en U33 de l'onglet "DEAUVILLE" la donnée "300" sans que les données en U30 à U32 soient changées.

J'espère avoir été clair dans mes explications et surtout qu'il existe une solution à mon problème.

Par avance merci.

Woods27260

Bonjour,

Au temps pour moi il y a une bricole que j'avais zappé.

C'est pas simple hein... Ton classeur est pas vraiment organisé pour macroter !

A+

Désolé... je suis novice et je ne connais que les formules de base !

En tout cas, merci pour ton aide

Disons tout net avec les formules de base je sais pas faire ! Mais si tu es prêt à digérer quelques modifications alors ça peut peut-être s'arranger.

Excel et surtout VBA s'accorde mal avec les cellules fusionnées. De plus tes tableaux sont sans doute superbe, très "léchés" mais quasi inutilisables pour le programmeur : Ça ne veut pas dire qu'il faut tout mettre à la poubelle hein !

Ça veut dire qu'il est préférable de faire une feuille de paramètres ("Autorisation de jeu") comme j'ai fait. Limite peu lisible mais très fonctionnelle. et après avec des formules tu ramènes les valeurs de mon tableau dans tes colonnes (si tu dois imprimer et si tu veux une présentation plus léchée.)

Mais ça ne peut marcher que dans ce sens là. Excel est prévu pour fonctionner à partir de tableaux ou tables, pas à partir de présentation PowerPoint...

Bon je résume hein ! C'est pas une critique : Juste une explication rapide...

Donc dans mon tableau "Autorisation revu et corrigé" si tu modifies la date ligne 2, ça te rajoute une ligne sur la bonne feuille.

Alors j'ai pas supprimé les premières colonnes hein... je les ai juste masquées. Après tu fais comme tu veux ou comme tu as besoin... Mébon ça ne sert à rien de faire des tableaux de 80 colonnes quand 1 de 15 suffit.

De même faire 13 feuilles pour tes 13 casinos n'a pas de sens (vu que tu ne peux consulter qu'une feuille à la fois) : Un seul tableau qui collationnerait toutes les données de tous les casinos serait bien suffisant après il suffirait de faire pointer ta feuille de consultation sur la bonne colonne et le tour est joué. Il en va de même pour les graphiques...

Parce que plein de feuilles avec plein de graphiques au bout d'un moment Excel ça le gave. Et quand ça le gave TAPUKA tout recommencer...

Bon j'ai trouvé commode d'ajouter la feuille Accueil qui ne permet de voir que la feuille dont on a besoin. Mais si tu supprimes cette feuille je ne me vexerai pas.

Tu auras juste à réafficher les autres feuilles. Bon je te laisse regarder.

A+

Dans l'ensemble, je retrouve mon fichier de travail. C'est l'essentiel car même si tu trouves ça un peu "léché", je fais des impressions de certains tableaux et c'est la raison pour laquelle j'ai parfois mis quelques enluminures sur mes onglets de travail !

Ta feuille "Autorisation de jeux" revue et corrigée ne me dérange pas du tout. Par contre, dans mon onglet original, certaines cellules étaient la somme d'autres ou le résultat d'une opération... est-ce que je peux remettre en place ces opérations ou pas dans ta feuille ?
De plus, dans ton exemple c'est la modification de la date en ligne 2 qui ajoute une ligne sur la feuille du casino concerné... en fait, c'est quand je modifie la ligne 5 que cela doit ajouter une ligne.
Comment dois-je modifier ta macro pour que cela fonctionne ainsi ?

Enfin, la feuille Accueil, c'est nickel et bien pratique.
Merci pour ton aide précieuse.

J'avais zappé ce détail.

Du coup je t'ai fait la modif.

Je t'ai aussi supprimé les 80 premières colonnes.

Attention J'ai du créer la liste de tes casinos (dans le Gestionnaire de noms) à partir de ta feuille "récap" ce qui permettra de ne pas avoir à tout recommencer le jour ou il faudra ajouter un casino... bien sur il faudra rajouter a feuille correspondante et la colonne correspondante dans "Autorisation." Mébon au moins ça fera pas tout foirer.

Revers de la médaille j'ai du supprimer les cellules fusionnées E3 et E16 de la feuille "Récap" Ça, il va falloir t'y faire : si tu veux faire un bout de chemin avec Excel et VBA : Les cellules fusionnées il va falloir oublier...

Il y a aussi quelques autres gâteries que tu découvriras au fur et à mesure, mais ça te fera l'occasion de revenir nous voir ! p.e. remarrquer dans le Gestionnaire de Poject VBA que les VBName de Feuilles"casino" sont préfixées "Ws" & NN, les autre feuilles "FA","FP", "FR", "FS" et "Acc". Ceci permet de gérer simplement la visibilité des feuilles.

A+

Salut,

J'ai pris connaissance de tes modifications ce matin.

Merci pour les corrections que tu y as apporté.

Par contre, je ne vois pas à quoi tu fais référence quand tu me parles des cellules E3 et E16 dans ma feuille "Récap Complet". J'ai regardé mon tableur de départ et en E3 dans cet onglet, c'est vide et en E16, c'est le mot "GRANVILLE" qui est inscrit.

Et pour les gâteries... j'espère que c'est pas toi qui les fais ???

Sinon, quand tu dis que je vais les découvrir, c'est que ça change profondément l'utilisation de ma feuille ?

Enfin, je tenais à te remercier pour le temps que tu as bien voulu m'accorder en résolvant d'une part mon problème de base et en améliorant l'utilisation de mon fichier.

@+

Oui oui toute la ligne 2 était fusionnée. et l'autre, c'est E19 qui était fusionnée. Bref colonne E aucune cellule ne doit être fusionnée sinon ça marche moins bien...

Non pas d'autre surprise à attendre je pense que je t'ai tout signalé. Utilisation normale. Après s'il y avait des liens avec d'autres feuilles, ça je ne peux pas te dire...

A+

Je vais vérifier pour les liens car effectivement, une partie des informations de ce classeur est renvoyé sur un autre !

Dernière question, j'ai vu que dans ton nom de fichier tu n'avais pas mis d'espace mais les tirets du 8 !

J'imagine que je dois laisser ça comme ça où est-ce que je peux renommer le fichier ?

Encore merci pour ton aide ! Et si j'ai besoin, je sais où appeler maintenant !

Je n'ai pas mis d'espaces car j'ai eu beaucoup de mal à télécharger les fichiers sur le forum qui est perpétuellement en maintenance... Donc j'ai hébergé temporairement ce fichier sur un site perso, mais dans ce contexte les espaces posent un problème de compatibilité pour établir des liens de téléchargement avec le forum. Mais tu peux rebaptiser ton fichier comme tu le veux ça ne pose pas de pb.

Bonne continuation.

Ok merci pour tout.

Je reviendrai sûrement vers toi car tu as résolu mon problème mais... car il y a toujours un mais... en réfléchissant un peu, j'ai trouvé un écueil !

En effet, ta solution incrémente la colonne U à chaque fois que je modifie les cellules en ligne 5 sur l'onglet "Autorisation de jeux".

Mais si je n'interviens pas sur cette ligne, ça ne modifie rien... donc, ça ne reproduit pas le chiffre que j'avais le mois précédent.

Je m'explique, si à fin février j'ai 297 machines... que je n'ai aucun changement pendant trois mois (ou plus d'ailleurs), ça ne remplira pas automatiquement ma colonne U ; je me trompe ?

La condition était de rajouter une ligne à chaque changement, pas à chaque fois que tu ouvres le classeur !

Je ne vois pas comment on peut définir qu'il faut reporter le nombre de la ligne précédente. Il faut fournir me fournir un évènement déclencheur. Par exemple, le clic sur la cellule concernée : si elle est vide on reporte la ligne précédente... Ça, ça pourrait être relativement simple à réaliser :

Si cette solution te convient YAKA ajouter cette macro dans le module ThisWorkbook

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim iR%, iC%, S$
If Left(Sh.CodeName, 2) = "Ws" Then
iR = Target.Row
iC = Target.Column
S = Sh.Name
   If Not Application.Intersect(Target, Sh.Range("$U$30:$U$41")) Is Nothing Then
      For i = 2 To [LCas].Count + 1
         If FA.Cells(1, i) = S Then
            Target = FA.Cells(15, i)
            Exit For
         End If
      Next
   End If
End If
End Sub

A+

La condition était de rajouter une ligne à chaque changement, pas à chaque fois que tu ouvres le classeur !

Salut,

Le classeur fonctionne bien comme tu l'as construit mais le problème c'est que si j'ai deux changements du nombre de machines dans le même mois, à partir du moment où je vais intervenir sur la cellule en ligne 7 de "Autorisation de jeux", ça va incrémenter une ligne de plus en colonne U sur la feuille du casino concerné.

Or, comme je l'indiquais dans mon post original, dans ces cases en U, c'est le nombre de machines en fin de mois qui doit apparaître.

Donc en gros, si j'ai une modification le 12/03/2021 avec 300 machines et que j'en ai une autre le 27/03/2021 avec 302 machines, c'est le nombre "302" que je dois retrouver dans la cellule U correspondante à la ligne "Mars 2021".

Du coup, je ne sais pas si on peut trouver une solution pour que cela fonctionne ainsi.

@+

Le principe de ce type de programmation est de fournir des solutions pour les actions répétitives.

Pour les situations exceptionnelles rien de tel que le bonhomme !

Je ne peux d'autant moins te proposer quelque chose que comme je te l'ai déjà dit : Faire une feuille par site n'a guère de sens : Si tu devais gérer tous les casinos de France, tu ferais 200 feuilles ?

De toute façon tu ne peux consulter qu'une feuille à la fois...

En toute logique une (ou plusieurs) table(s) devraient répertorier toutes les infos nécessaires et en fonction du site que tu veux visualiser, le programme mettrait à jour la fiche unique.

Il en va de même si tu veux faire un tableau de bord comparatif de tous les établissements : C'est plus facile avec des TCD de le faire à partir de 2 ou 3 tables qu'à partir de 15 fiches individuelles...

A+

Rechercher des sujets similaires à "transfert donnees onglet condition"