Microsoft 365 programme VBA pour "importer" les valeurs de certaines cellules d'une autre feuille appartenant à une ligne que j'identifie par un n°

arnomorize

XLDnaute Nouveau
Je sais, c'est un titre un peu long mais je n'arrive pas à synthétiser davantage...

Dans une feuille (formulaire nouvel objet), j'ai créé un formulaire qui va alimenter automatiquement un tableau d'une autre feuille (saison), en insérant une ligne, la remplissant des valeurs du formulaire, et la faisant débuter par un n° de ligne qui s'incrémente à chaque nouvelle ligne créée.
Ainsi, chaque nouvelle entrée est précédée par un n°

J'ai créé un autre formulaire dans une autre feuille (formulaire nouvelle dpae) pour traiter certaines informations du tableau

Pouvez vous m'aider à atteindre cet objectif :
Je voudrais saisir un n° dans une cellule "d'appel" de ce nouveau formulaire, afin de faire remonter certaines des valeurs de la ligne correspondante dans le nouveau formulaire.

Sachant qu'à chaque nouvelle entrée, les lignes se déplacent vers le bas, elles perdent donc leur position physique dans le tableau.

Je vous remercie de votre aide :)
 

Pièces jointes

  • essai arno.xlsm
    106.3 KB · Affichages: 8

vgendron

XLDnaute Barbatruc
Hello

pas sur d'avoir compris
en attendant, je me suis permis de revoir ta macro qui créé un nouvel objet
l'exploitation des Tables Strucuturées que tu as placées sur tes feuilles permet d'insérer une nouvelle ligne dans saisie en FIN de table.. ce qui te dispense d'insérer une ligne en haut en recopiant la mise en forme (le principe des tables c'est que justement la mise en forme est automatiquement reproduite sur toute la table)

le code est donc bien plus court et concis.
après, si tu tiens à ajouter la ligne en haut de table. pas de problème
il suffit de remplacer cette ligne
VB:
ind = .ListRows.Add.Index 'ajout d'une ligne en fin de table

par
Code:
ind = .ListRows.Add(1).Index 'ajout d'une ligne en début de table
dans ce cas, il faudra aussi modifier la ligne juste en dessous, celle qui met un nouveau numéro
 

Pièces jointes

  • essai arno.xlsm
    120.9 KB · Affichages: 2

arnomorize

XLDnaute Nouveau
Hello Vgendron,
Merci bcp pour ton aide.
J'ai remplacé ton code par le tien et simplifié mon tableau Saison qui est maintenant plus lisible grâce notamment à la mise en forme contrôlée :)
Pourtant le debugger me rapporte une erreur quand j'utilise ta macro sur mon projet que je n'arrive pas à comprendre : il me rapporte une 'erreur 9'
'l'indice n'appartient pas à la selection'
et cette ligne est surlignée : With Sheets("Saison").ListObjects("t_Saison")
Qu'est ce que "t_Saison" ?
Merci pour ton aide
 

Pièces jointes

  • essai arno.xlsm
    89.9 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
Hello
t_Saison, c'est le nom que j'ai donné à la table structurée sur ta feuille Saison

un peu de lecture pour te guider
 

vgendron

XLDnaute Barbatruc
Une remarque
il faut je pense revoir la copie de l'onglet "nouvel objet' et ne pas l'autoriser si le nom existe déjà
pour l'instant, ton code ne l'empeche pas grace (à cause) du On error resume next
mais ca provoque la création d'un nouvel onglet (2) et quand meme une nouvelle ligne dans saison..

peut etre qu'il faudrait également supprimer le bouton sur les nouvelles feuilles pour éviter de lancer la macro
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 052
Messages
2 115 743
Membres
112 524
dernier inscrit
Friq