Rajouter des lignes en fonction d'un tableau complété par FORMS

Bonjour!

Peut-être mon problème est-il simple, vous comprendrez que je ne suis pas du tout spécialiste.

J'utilise depuis peu un formulaire FORMS que je remplis moi-même pour recueillir les données sur les clients avec qui je suis en contact. Ces données sont reportées dans la feuille : Données Formulaire

Dans le même classeur, j'ai deux feuilles qui contiennent chacune un tableau qui traitent différentes données issues du formulaire. Plus précisément une feuille recense les clients, et l'autre chaque interaction avec les clients. Certaines données sont brutes, d'autres, comme l'âge, sont parfois soumise à une formule pour afficher l'âge, etc.

Mes formules de cellules fonctionnent bien. Seulement, je croyais qu'en étirant à l'avance le tableau qui extrait des données, dès que le tableau source changerait, mon tableau de réception se mettrait à jour avec les nouvelles données, puisque les formules sont déjà écrite dans les lignes. Si je remplis manuellement le tableau, d'ailleurs, tout fonctionne bien. Malheureusement, quand un nouveau formulaire Form est complété, le tableau initial reçoit bien les données, mais les lignes qui référaient à ces cellules nouvellement pleines s'effacent simplement des autres tableaux!

Par exemple, si la ligne 4 du Tableau deux référait aux données de la ligne 2 du tableau 1 (=SI('Données Formulaire'!$O2="oui";'Données Formulaire'!F2;""), une fois les données réellement recueillies sur la ligne 2 du tableau 1, la ligne 4 du tableau deux affiche désormais la formule: =SI('Données Formulaire'!$O3="oui";'Données Formulaire'!F3;"") ... au lieu d'indiquer les données de la ligne 2.

Donc présentement, pour avoir par exemple mon tableau à jour, je dois utiliser la poignée manuelle, le réduire, effacer le contenu qui reste, puis l'étirer de nouveau pour qu'il contienne tous les clients. Ca peut entraîner des erreurs et des oublis.

Si je pouvais me passer de VB pour obtenir le résultat d'une mise à jour automatique, je préférerais. Si je suis obligée de passer par le VB, pourriez vous m'expliquer clairement ce que je dois faire? La dernière fois que j'ai du modifier un code VB date de 2 ans au moins, et je ne l'avais pas écrit à l'origine...

Il est nécessaire pour moi que cela reste des tableaux avec les options de filtre et de tri, parce qu'on me demande des stats croisées chaque mois... mais souvent, on ne me demande pas les mêmes...

Je vous joint le fichier raccourci. Comme toutes les données sont confidentielles, je ne vous ai laissé que deux fausses lignes, j'espère que ce sera suffisant pour me comprendre. Mais je ne sais pas comment vous faire tester le "remplissage" par Forms...

Merci d'avance,

Mariam

Bonsoir,

je ne connais pas Forms ni même Excel 365... Mais vu votre soucis j'ai l'impression que le résultat de la requête est une "insertion" de données dans le tableau.

Donc votre formule fait référence à G4, vous entrez une donnée avec Forms, du coup il y a insertion ce qui a pour effet de modifier la formule en G5 afin que celle-ci cible toujours la même cellule c'est à dire G4 qui est devenue G5 suite à l'insertion de Forms...

Solution : mettre vos formule en "Indirect" afin de cibler l'adresse de la cellule et non pas la cellule elle-même :
=SI(INDIRECT("'Données Formulaire'!$O" & LIGNE()-2)="oui";INDIRECT("'Données Formulaire'!F" & LIGNE()-2);"")

Afin qu'il y ait bien une incrémentation de la recherche de données il faut ajouter "LIGNE()" avec un décalage de 2 afin de "tomber" sur la bonne cellule :

première ligne de votre tableau = 4 qui va chercher la donnée en ligne 2 de la feuille source, on a bien LIGNE()-2

@ bientôt

LouReeD

ça marche!! Merci LouReeD! J'ai réussi à comprendre un peu Indirect.

Mais ça m'amène un autre problème: en fonctionnant ainsi, il m'est impossible de trier mes données, puisqu'après tri l'adresse de la ligne ne correspond plus aux bonnes données.... (je ne trie pas le tableau de référence "Données Formulaire", mais ceux qui s'y rapportent)

Ce n'est pas très grave, je peux savoir que je dois éviter de le faire, mais pour la liste des clients par exemple, ça aurait pu être un avantage de pouvoir la classer en ordre alphabétique.

Est-ce qu'il y aurait quelque chose à changer pour que ce soit possible?

Bonsoir,

faites le tri sur le tableau de la feuille formulaire, celui-ci se répercutera alors sur l'autre

@ bientôt

LouReeD

Merci, parfois, les solutions les plus simples... :)

Bonjour,

merci de ce retour, et en effet quelque fois il suffit de relever la tête du guidon pour voir le paysage !

@ bientôt

LouReeD

Rechercher des sujets similaires à "rajouter lignes fonction tableau complete forms"