[Résolu]Userform et insertion de ligne avec formule Excel 2016

arkheos

XLDnaute Nouveau
bonjour,

je me permet de vous soumettre mon problème en espérant que vous pourrez m'aider.

Je souhaite créer un tableau pour rassembler des lignes de commandes.
pour cela, je souhaite utiliser un userform pour saisir une commande, en validant ce userform les informations doivent aller renseigner une ligne qui se crée au dessus des autres. Dans ces lignes se trouvent des formules (recherchev) qui ne doivent pas changer (pas d'incrémentation pour la table).

Plutôt qu'un long discours, je vous joint un fichier pour vous rendre compte.

Je précise que je me débrouille comme je peux en VBA en recherchant sur le net et en adaptant à ce que je souhaite faire. Merci de votre indulgence.
 

Pièces jointes

  • Planning essai.xlsm
    71.7 KB · Affichages: 117
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Userform et insertion de ligne avec formule

Bonjour arkheos,

Si tu repasses par ici (ce n'est tout de même que ton 3e message en 9 ans :rolleyes:) il serait utile de préciser pourquoi les entrées doivent se faire en haut de la liste (d'autant que tu semblais avoir trouvé comment les insérer à la fin!?

Par ailleurs, mettre comme préfixe à la discussion "toutes versions" n'est pas nécessairement une bonne idée (d'autant que ton fichier est un .xlsm ... ce qui laisse présager l'utilisation d'Excel 2007 au moins!?)

Tu as pensé à l'utilisation d'un Tableau (voir Insertion > Tableau) ... dont la particularité est que les formules, validations, mises en forme conditionnelles, etc vont se recopier dans chaque nouvelle ligne insérée dans le tableau?
 

arkheos

XLDnaute Nouveau
Re : Userform et insertion de ligne avec formule

Bonjour Modeste,

comme je l'ai précisé, j'essaie de me débrouiller seul en lisant les forums qui parlent du sujet qui m’intéresse.
3 messages en 9 ans ne signifie pas 3 visites !

Je souhaite que les entrées se fassent par le haut pour "écraser" les lignes précédentes et donc avoir les dernières commandes en premier.

Ma version d'excel n'étant pas dans la sélection et étant obligé d'indiquer qqchse, j'ai opté pour toutes versions pour ne pas cibler une version particulière ... Pour info je suis avec office 365 et donc excel 2016.

L'utilisation du tableau ne me convient pas, je veux un userform pour le remplir.

As tu une solution qui respecte ma demande ?
 

Modeste

XLDnaute Barbatruc
Re : Userform et insertion de ligne avec formule

Re-bonjour,

Je souhaite que les entrées se fassent par le haut pour "écraser" les lignes précédentes et donc avoir les dernières commandes en premier.
Par "écraser", tu entends quoi? Effacer :confused:

Ma version d'excel n'étant pas dans la sélection et étant obligé d'indiquer qqchse, j'ai opté pour toutes versions pour ne pas cibler une version particulière ... Pour info je suis avec office 365 et donc excel 2016.
Ah oui, il faudra que David mette cette liste à jour, quand il aura le temps. Tu peux aussi ajouter cette mention avec ta signature ou "carrément" dans le message!

L'utilisation du tableau ne me convient pas, je veux un userform pour le remplir
Les deux n'ont rien d'incompatible! Il me semble bien avoir vu dans ton fichier que les titres et la première ligne de données sont sous forme de tableau ... Mais pas les données suivantes?


Peux-tu aussi préciser ce que tu entendais par
des formules (recherchev) qui ne doivent pas changer (pas d'incrémentation pour la table)
Dans certaines de tes formules, les références sont absolues ... dans d'autres formules, elles sont mixtes (colonne absolue, ligne relative)
 

arkheos

XLDnaute Nouveau
Re : Userform et insertion de ligne avec formule

merci de votre intérêt,

par "écraser", j'entends que la première ligne corresponde à la dernière commande saisie et que les autres lignes soient toujours visibles.

Pour la version, je n'ai pas pensé que c'était si important et je l'ai vu que lorsque mon message a été bloqué lors de ma validation pour l'envoyer.

Le tableau ne convient pas car dans une autre discussion, la personne disait que le mode tableau faisait que les formules s'incrémentaient automatiquement. Ce que je ne veux pas.
Je veux que ma formule recherchev cherche la valeur que j’appellerai x (qui elle change lorsque je descend d'une ligne) dans une table qui ne change pas d'emplacement. D'où les références absolues et relatives. Mais là aussi, j'ai adapté une discussion à mon problème et j'ai peut être pas bien fait ?

cordialement
 

Modeste

XLDnaute Barbatruc
Re : Userform et insertion de ligne avec formule

Re²,

Pour tes recherchev, il me semble que les références de la "plage_matrice doivent être absolues, précisément!? J'ai donc modifié les formules. Tu avais aussi laissé vide le dernier argument de ces mêmes recherchev ... ici aussi, il me semble que ce 4e argument doit être FAUX (pour forcer la recherche de la correspondance exacte).

Pour ce qui est de la version, si tu travailles toujours avec une version 2007 ou postérieure, les tableaux ne devraient pas poser problème.

Quant à ce qui a été dit par cette autre personne au sujet des tableaux ... je ne sais pas trop ce chacun a pu comprendre de ce que l'autre disait :) je ne vais donc pas en rajouter "une couche". Teste ... et tu verras bien si ça correspond à ce que tu attends.
 

Pièces jointes

  • Planning essai (arkheos).xlsm
    73.7 KB · Affichages: 160

arkheos

XLDnaute Nouveau
Re : Userform et insertion de ligne avec formule

Parfait ! :eek:

c'est exactement ce que je voulais, j'avais essayé xldown mais sans succès, peux tu m'expliquer la formule que tu as utilisé pour que la prochaine fois je puisse la faire moi même ?

et si je n'abuse pas trop, sais tu pourquoi les textbox1 et 5 ne s'effacent pas après la validation ? c'est ce que je demande dans le code pour toutes les textbox mais ces 2 là ne le font pas ?

En tout cas, un grand MERCI pour ton aide.

Bien Cordialement
 

Modeste

XLDnaute Barbatruc
Re : Userform et insertion de ligne avec formule

peux tu m'expliquer la formule que tu as utilisé
Tu parles de la RECHERCHEV ?

sais tu pourquoi les textbox1 et 5 ne s'effacent pas après la validation
En réalité, leur contenu est bien effacé ... mais leur 'Value' est fixée dans les propriétés de ces 2 textBox (visibles dans la fenêtre du même nom, dans le VBE, lorsque l'Objet UserForm1 est affiché)
 

arkheos

XLDnaute Nouveau
Re : Userform et insertion de ligne avec formule

je parle de cette ligne de commande :

Sheets("Planning").ListObjects("Tableau1").ListRows(1).Range.Insert xlShiftDown

je comprends que tu désignes la feuille "Planning" mais après c'est plutôt flou pour moi

Merci pour l'info concernant la "Value", j'ai corrigé.
 

Modeste

XLDnaute Barbatruc
Re : [Résolu]Userform et insertion de ligne avec formule Excel 2016

Re-bonsoir,

L'aide de VBA t'aurait répondu plus rapidement et plus complètement que je ne vais le faire:

  • un objet ListObject est précisément un tableau au sens où je l'entendais dans mes premiers messages. Il est identifié ici par son nom: "Tableau1" (ça ne s'invente pas! ;))
  • dans ce tableau, un objet ListRow représente une ligne dudit tableau. ListRows(1) représente le premier élément de l'ensemble des lignes du tableau
  • j'insère donc, en décalant vers le bas, une plage de cellules correspondant à la première ligne du tableau ... qu'il suffit de compléter ensuite, puisque les données seront toujours à ajouter en ligne 4


Me suis-tu?
 

arkheos

XLDnaute Nouveau
Re : [Résolu]Userform et insertion de ligne avec formule Excel 2016

Bonjour Modeste,

c'est vrai que l'aide VBA m'aurait donné une réponse mais je préfère que l'auteur m'explique sa démarche :p

je te remercie de m'avoir consacré du temps.

Bien cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 864
dernier inscrit
abderrashmaen