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

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 :confused:

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

  • suivi .xls
    21.5 KB · Affichages: 49

job75

XLDnaute Barbatruc
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

  • suivi(1).xls
    52 KB · Affichages: 48
  • suivi(1).xls
    52 KB · Affichages: 53
  • suivi(1).xls
    52 KB · Affichages: 51

job75

XLDnaute Barbatruc
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

  • suivi(2).xls
    51.5 KB · Affichages: 51
  • suivi(2).xls
    51.5 KB · Affichages: 59
  • suivi(2).xls
    51.5 KB · Affichages: 54

Discussions similaires

Réponses
5
Affichages
169

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa