Fonction recopie dans un tableau si condition

Bonjour à tous,

dans le doc suivant j'ai plusieurs onglets + un onglet récapitulatif.

je tiens à garder ce système d'onglets et de pages.

Voici ce que je souhaite :

lorsque je rentre une quantité dans la colonne D ou F de n'importe quel onglet (sauf récap) j'aimerais que la ligne entière soit recopiée dans le tableau de l'onglet récap.

L'idéal serait également que la ligne se supprime dans l'onglet recap si je supprime dans un autre onglet.

je vous remercie pour votre aide

19courses.xlsm (40.21 Ko)

Bonjour

lorsque je rentre une quantité dans la colonne D ou F de n'importe quel onglet (sauf récap) j'aimerais que la ligne entière soit recopiée dans le tableau de l'onglet récap.

Prenons l'exemple du Pack 6 bouteille d'eau de 1,5L
- Si vous rentrez une donnée dans la colonne D et F, cela crée une ligne
- Si vous rentrez une donnée dans la colonne D mais pas dans F, on crée une ligne
Que se passe-t-il si vous rentrez ensuite une données dans la colonne F et pas la D ? on crée aussi une nouvelle ligne ?

Bonsoir Dan,

Oui j'ai besoin d'ajouter une ligne au tableau recap à partir du moment ou une quantité est rentrée soit dans D soit dans F.

je m'interroge dans le cas ou je rentre une quantité dans D du pack d'eau, puis au final je le supprime. est-ce que cela peut aussi le supprimer su tableau recap ?

mereci

Bonsoir à tous,

J'avais commencé quelque chose, puis je me suis rendu compte que tu étais sous MAC,

Je tente quand même....

La macro s'exécute à l'activation de la feuille Recap....bons tests,

19breizhinours.xlsm (44.44 Ko)

Cordialement,

wahou !

ça a à l'air de fonctionner super bien.

super l'activation en cliquant sur la feuille recap.

franchement c'est top. bravo !

je fais des tests en profondeur demain mais tout ce que je viens d'essayer fonctionne à merveille

merci beaucoup

@Breizhinours :

Oui j'ai besoin d'ajouter une ligne au tableau recap à partir du moment ou une quantité est rentrée soit dans D soit dans F.

J'avais commencé quelque chose basé sur le changement de valeur dans les colonnes 3 et 5 mais vu que Xorsankukai vous a proposé quelque chose qui convient, nul besoin que j'interfère avec lui. Je le laisse continuer pour les modifications éventuelles

@Xorsankukai :

puis je me suis rendu compte que tu étais sous MAC,

De base sur MAC, évitez toujours les ActiveX et les Userform dans les versions excel récentes (version après 2011). Si je ne me trompe, ces dernières sont utilisables sur les versions excel MAC récentes mais non modifiables.

Cordialement

Bonjour Dan,

oui en effet le fichier semble convenir. je n'ai pas continué à le tester (sans doute en fin de journée) mais sur le principe c'est exactement ce que je souhaite.

merci

Bonsoir à tous,


@ Dan : merci pour ces précisions, aucun souci si tu souhaites interférer (d'ailleurs, ce serait plutôt moi qui ai interféré), ma proposition bien que fonctionnelle, n'est peut-être pas optimisée...


@breizhinours: attention, les feuilles doivent obligatoirement contenir un tableau structuré identique (listobject) sous peine de planter la macro, à voir par la suite si il faut rajouter un garde-fou....


Bonne soirée,

Cordialement,

entendu.

je n'ai toujours pas eu le temps de tester mais ça va venir

je viens de tester à priori tout fcontionne chez moi.

j'ai noté un soucis mais quoi je pense n'est pas lié au code.

en effet si je veux protéger la feuille, pour que certaines cellules ne soient pas accessibles en modification, l'ajout de ligne dans le tableau structuré n'est pas possible. celà rajoute une ligne mais à la suite, et non pas dans la tableau structuré.

y a t'il une astuce ? sinon je me passerai de la protection.

merci

Bonsoir à tous,

l'ajout de ligne dans le tableau structuré n'est pas possible

A tester:

Sub Ajout_ligne()
 With ActiveSheet 'générique, agit sur la feuille active, sinon, précise la feuille
  .Unprotect "ton mot de passe"  '.Unprotect si il n' y a pas de mdp
  .ListObjects(1).ListRows.Add
  .Protect "ton mot de passe"    '.protect si il n' y a pas de mdp
 End With
End Sub

Cordialement,

mes connaissances sont vraiment limitées...

je dois mettre ce code à quel endroit ?

lorsque je le place à la toute fin après le Sub recap() cela ne fonctionne pas

merci

Bonjour,

  • Le code est à placer dans un module standard, soit à la suite des autres macros, soit dans un nouveau module.
  • La macro doit être appelée à partir de la feuille ou tu souhaites ajouter la ligne.

Après essai, je me rends compte que cette solution n'est pas viable, car une fois la ligne ajoutée, la protection empêche de la remplir....

Un sujet parle de ce souci: https://forum.excel-pratique.com/excel/feuille-protegee-et-tableau-avec-ligne-automatique-111230

Cordialement,

zut... bon... tant pis...

merci pour tout, c'est déjà très bien ainsi

je viens de me rendre compte que si je coche "ligne des totaux" dans le dossier recap j'ai un truc bizarre :

je perds des lignes et il met le total en plein milieu tout en supprimant des lignes.

si pas de solution je ferais un total en dessus du tableau mais je tente ma chance

capture d ecran 2024 01 18 a 08 24 31

Re,

zut... bon... tant pis...

Je n'ai pas dit que ce n'était pas possible....

A tester:

Cordialement,

super ça fonctionne. merci 🙏

nos messages se sont peut être croisés ? en ce qui concerne les totaux ?

Re,

en ce qui concerne les totaux ?

Cordialement,

ha super.

je ne sais pas comment je me débrouillais pur obtenir ce résultat étrange...

merci beaucoup. je continue mes tests

@ Dan : merci pour ces précisions, aucun souci si tu souhaites interférer (d'ailleurs, ce serait plutôt moi qui ai interféré), ma proposition bien que fonctionnelle, n'est peut-être pas optimisée..

@xorsankukai : Pas de soucis de ce coté. J'ai suivi un peu le fil. Je ne vois pas quelque chose qui ne fonctionnerait pas.

@Breizhinours : Oui normal pour les totaux. Il faut désactiver l'option avec VBA (truc bizarre d'ailleurs mais bon c'est Microsoft). regardez votre fichier "pêche", c'est la même chose.

Cordialement

Rechercher des sujets similaires à "fonction recopie tableau condition"