Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Enregistrement automatique de données à l'ouverture du fichier avec incrementation

  • Initiateur de la discussion Initiateur de la discussion poiazer
  • 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 !

poiazer

XLDnaute Nouveau
Bonjour le forum,
Je reviens vers vous pour un problème que je pense solvable uniquement par une macro et là je suis perdu 😕

J'ai un fichier de 3 feuilles.
Feuille 1, 3 cellules A2, B2, C2 liées avec un autre fichier se mettent à jour automatiquement à l'ouverture du fichier.
Feuille 2 , une feuille ou je rentre des valeurs sur les colonne A et B.

Voila mon soucis sur la feuille 3 je souhaiterai

a l'ouverture du fichier que la date du jour (date système) s'enregistre dans la colonne A. Que l'on récupère la valeur des cellules A2, B2, C2 de la feuille 1 et quelles soient enregistrées dans les colonnes C,D,E. Que l'on récupère la valeur X égale à la somme de la colonne B de la feuille1 et quelles soient enregistrées dans la colonne B.
j'ouvre ce fichier tous les jours et plusieurs fois par jour.
Il ne pourra y avoir qu'un seul enregistrement par jour.
Le jour suivant devra être enregistré sur la ligne suivante.

Je vous joins mon fichier exemple pour le cas ou mes explications soit un peu flou.
Je vous remercie de votre aide
A bientôt
Patricia
 

Pièces jointes

Re : Enregistrement automatique de données à l'ouverture du fichier avec incrementati

Bonjour poiazer,

Allez dans VBA (Alt+F11) et placez dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
'Feuil1 et Feuil3 sont les CodeNames des feuilles
Dim lig As Long
With Feuil3
  If Application.CountIf(.[A:A], Date) Then Exit Sub
  lig = .[A65536].End(xlUp)(2).Row
  .Cells(lig, 1) = Date
  .Cells(lig, 2) = [Somme] 'nom défini
  .Cells(lig, 3).Resize(, 3) = Feuil1.[A2:C2].Value
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

Re : Enregistrement automatique de données à l'ouverture du fichier avec incrementati

Bonjour Patricia,

Un code plus concis mais plus difficile à comprendre :

Code:
Private Sub Workbook_Open()
'Feuil1 et Feuil3 sont les CodeNames des feuilles
With Feuil3.[A65536].End(xlUp)(2).EntireRow
  If .Cells(0, 1) = Date Then Exit Sub
  .Cells(1) = Date
  .Cells(2) = [Somme] 'nom défini
  .Cells(3).Resize(, 3) = Feuil1.[A2:C2].Value
End With
End Sub
Fichier (2).

A+
 

Pièces jointes

- 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
81
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…