XL 2010 Ajouter une nouvelle ligne avec valeurs dans une autre feuille

  • Initiateur de la discussion Initiateur de la discussion IxeX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

IxeX

XLDnaute Nouveau
Bonjour à tous !

Je souhaite ajouter une ligne sur une autre feuille (Feuil1) si la valeur de la cellule A1 de ma feuille active (Feuil2) est supérieure à 0. Pour se faire, j'appelle ma fonction depuis ma cellule A2 en renseignant 2 paramètres : nom de la feuille (où je souhaite ajouter une ligne); valeur (56,3 dans mon exemple).

Voici la formule en A2 :

VB:
=SI($A$1>0;ajout_ligne("Feuil1";56,3);"aucune action")

Et ma macro >> Module >> Module1 :

Code:
Function ajout_ligne(nom_feuille, valeur)

Dim ligne As Long, y As Single
Dim x As String

x = nom_feuille
y = valeur

ligne = Sheets(x).Range("A65000").End(xlUp).Offset(0, 0).Row

MsgBox ligne
MsgBox x

Sheets(x).Range("A" & ligne) = Now
Sheets(x).Range("B" & ligne) = y

End Function

Ma fonction est bien appelée mais malheureusement, aucune ligne ne s'insère dans ma Feuil1... De plus en A2 (si A1>0), j'ai une erreur #VALEUR?

Je joins à ce post un fichier d'exemple qui sera sans doute plus parlant. Merci d'avance pour votre aide et soutien ! 👍
 

Pièces jointes

Bonjour IxeX,
Une fonction ne peut remonter qu'une valeur dans sa propre cellule. Elle ne permet pas de toucher à d'autres cellules que celle dont elle est appelée.
Il doit exister d'autre moyens mais il faudrait un fichier test plus "représentatif" en particulier comment est calculée la "valeur".
 
Bonjour IxeX, sylvanu, le forum,
Un début de solution avec un bouton de commande sur la feuille 2.
A prévoir :
  • un formulaire pour saisir le nom de la feuille de destination (ou un InputBox),
  • Pour éviter d’effectuer la copie plusieurs fois, doit-on effacer le contenu de la ligne (Feuil2 ligne 1) ?
Autre possibilité, effectuer la copie à chacun changement de la valeur de la cellule B2 de la Feuil2.
Cordialement,
Bernard
 

Pièces jointes

Merci pour vos réponses bbb38, sylvanu !

Je débute sur excel et me suis un peu perdu dans ma "logique". D'un premier abord, je trouvais pratique et réalisable de concatener l'appel d'une fonction dans les conditions de ma formule.

Un peu dans ce genre de raisonnement :

VB:
=SI($A$1>0;(CONCATENER((ajout_ligne("Feuil1";56,3)); "une ligne a été ajoutée !");"aucune action")

Mais visiblement, c'est un peu plus complexe que ça...

Je garde vos solutions et avis sous le coude, j'y reviendrai plus tard ! ça m'aide en tout cas ! 😉 Encore merci !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
146
Retour