Insertion ligne avec formule

Bonjour le forum,

sur mon projet j'ai un deuxième soucis, avec le code ci-dessous j'ajoute une ligne vide au dssus de ma ligne repérer"TE" cependant les formule de la ligne du dessus ne sont pas reprise, comment puis-je coder pour que ma nouvelle ligne reprenne les formules de ma ligne du dessus

Option Explicit

Private Sub AjoutLigne(chn$)

Const titre$ = "demande de confirmation"

Const msg$ = "Êtes-vous sûr de vouloir ajouter une ligne ?"

If MsgBox(msg, vbYesNo, titre) <> vbYes Then Exit Sub

Dim lig&: lig = Columns(1).Find(chn, , -4163, 2).Row

Rows(lig).Insert Shift:=xlDown

End Sub

Sub AjoutAgentTL()

AjoutLigne "TE"

End Sub

merci à vous de vos propositions

Bonjour,

Mets tes données sous forme de tableau.

Les formules seront automatiquement reproduites.

Cdlt.

Pas mieux !

Bonsoir,

@ bientôt

LouReeD

Bonjour à tous les deux,

Mreci pour vos réponses.

j'ai mis mes donnée en forme de tableau mais cela ne resoud pas le problème les formules ne sont pas reprises et mon premier bouton en ligne "TE" ne fonctionne plus. voir mon fichier joint.

qu'en pensez-vous ?

Bonjour tumble,

si tu as bien mis un tableau structuré, alors regarde cette option :

etendre les formules

dhany

Bonjour Dhany,

effectivement je n'avais pas cette option de cocher, mais après l'avoir sélectionner malheureusement les formules ne sont pas reprises

merci en tout cas pour cette piste.

Bonsoir,

la piste est bonne ! En effet il arrive que dans le tableau il y ait des "reste" de données différentes dans une colonnes (ou plus) du coup la "reproduction" des données ne se fait pas.

Solution copier coller "les valeurs" que vous ne devez pas perdre sur une autre feuille sans mise en forme sans rien juste valeurs

supprimer toutes les lignes de votre tableau "structuré", transformer le tableau en plage de données grâce au menu "création" lorsque vous sélectionnez un cellule du tableau.

Puis une fois ceci fait il ne vous reste plus que la ligne d'entête, sélectionnez une de ce cellules, "insertion tableau", mon tableau comporte une ligne d'entête, OK.

Vous vous retrouvez avec un tableau structuré qui comporte une ligne d'entête et une ligne de données vides.

Sur cette ligne vous entrez dans les colonnes voulues les formules que vous voulez mettre en place, vous mettez dans le tableau les mise en formes que vous souhaitez.

Il se peut que le résultat des formules provoque des erreurs vu qu'il n'y a pas de données.

Vous reprenez vos données mises de coté et vous faite un copier/coller "Valeur" à partir de la seule ligne "vierge" de votre tableau et ô miracle le tableau s'agrandi à concurrence des données collées "Valeurs", la mise en forme se met en place et le résultat des formules est conforme à vos attentes ! Incroyable non ? Enfin j'espère pour vous !

Et pour moi sinon je passe pour un rigolo !

@ bientôt

LouReeD

Bonsoir LouReed,

je testerai ta proposition demain. avec des explications aussi claires je ne devrais que pouvoir réussir ! enfin j'espère.

merci pour le temps que tu as pris. je te tiendrai au courant du résultat.

bonne soirée à toi sans oublier Dhany bien sûr.

Bye

Bonsoir,

je n'avais pas vu votre fichier !

Déjà de quel tableau parlez vous ?

Si c'est sur celui de la feuille budgétisation, il y a une structure à modifier :

en effet un tableau structuré sous VBA = une ligne d'entête et plusieurs lignes de données dont certaines colonnes peuvent recevoir des formules qui se recopies automatiquement suite à l'ajout de nouvelles données.

Hors sur votre tableau, vous avez bien une ligne d'entête la 19 sur le fichier joint un peu plus haut dans les message, puis une ligne de données "étranges" la ligne 20, puis une nouvelle ligne la 21 qui ressemble vraiment à une ligne d'entête, puis une série de ligne pour recevoir des données et certaines des formules.

Comment voulez vous qu'Excel "comprenne" ce que vous voulez faire !

le mieux est de remettre en plage de données, puis sélectionner une cellule de la ligne 22, insérer un tableau Excel en vérifiant la taille qu'Excel vous propose, il faudra la modifier en inscrivant : $A$21:$Q$40 cocher mon tableau a une ligne d'entête.

Pour la ligne des totaux regardez avec les option "tableaux" ce que vous pouvez faire...

Mais il est vrai que c'est fouillis !

@ bientôt

LouReeD

Bonjour,

@ LouReed,

Une usine à gaz plutôt !?

Cdlt.

Bonjour tumble, le forum,

tout en laissant cochée l'option précédente, regarde aussi ces 2 options de ton vérificateur d'orthographe :

tableaux

c'est selon mon Excel 2007 ; à toi d'trouver l'équivalent sur ton Excel 2016.

dhany

Bonjour LouReed, Dhany et Jean-Eric,

je ne conteste pas que mon onglet base de données soit "un Capharnaüm", j'ai essayé d'utiliser le moins de colonne possible (apparement ça aide à moins ralentir l'ouverture du fichier) donc j'ai "un peu" tasser

pour mon tableau en fait, il doit être scindé en deux- partie supérieur achat interne ligne 21 à 26 (20 = entête de colonne et 26 = sommes partie supérieure)

partie inférieure achat externe ligne 27 à 40 (se base sur la même ligne d'entête ligne 20 et somme partie inférieure ligne 40)

et la ligne 41 qui est la somme total ligne 26 + 40.

en partie haute ligne 16, 17 et 19 sont des informations récuperées de mon userform1 conernant le client.

C'est mon premier projet VBA que j'essaye d'amener au bout avant de baisser les bras !

cela me servira d'expérience pour le prochain. je pense que là je suis parti à l'envers sur l'étude mais je suis tellement avancé que je n'ai pas le courage et le temps de tout refaire... ça fait quand même 1 mois et demi que je suis dessus

merci vraiment pour votre aide à tous. j'avance en même sur les conseil de Juice sur les signatures en bas de tableau à afficher suivant code saisis dans Userform.

pour info sup: l'onglet listing est issu de mon Userform2, l'affichage des onglets "Avenant" en fonction du Userform1(page1)

et voilà vous savez tout de mes souffrances informatiques

Bonjour Dhany,

oui cette partie là est bien cocher dans mes options.

j'vais devenir bon à force

Oups,

mon fichie que j'ai un peu rafraichit au niveau du tableau principal dans l'onglet "Budgetisation"

Rechercher des sujets similaires à "insertion ligne formule"