Remplissage automatique

jeba14

XLDnaute Nouveau
Bonjour,

je viens vers vous car je rencontre un problème qui pour vous ne le sera pas surement.

Donc mon problème est:

je souhaiterais remplir une case (dans onglet modif) automatiquement avec une date précise qui m'est fournis grâce a un code VB (utilisé sur l'onglet modif data) que voici:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "Espion" Then
Application.EnableEvents = False
ValSaisie = Target
Application.Undo ' annuler la modification
temp = Application.CountA(Sheets("Modif Data").Range("a:a")) + 1
Sheets("Modif Data").Cells(temp, 1) = Sh.Name
Sheets("Modif Data").Cells(temp, 2) = Target.Address
Sheets("Modif Data").Cells(temp, 3) = Now
Sheets("Modif Data").Cells(temp, 4) = Target
Sheets("Modif Data").Cells(temp, 5) = ValSaisie
Sheets("Modif Data").Cells(temp, 6) = Environ("username")
Application.Undo ' Annuler l'annulation ;)
Application.EnableEvents = True
End If
End Sub

Le problème c'est que je ne sais pas comment, avec le résultat donnée (exemple:$B$9), je peut lui dire de reporter la date qui correspond à cette emplacement.

Si vous avez une idée je suis preneur.

Je fournis le fichier
Regarde la pièce jointe Planning à 5 vierge.xlsm

cordialement
 

Pièces jointes

  • Planning à 5 vierge.xlsm
    156.9 KB · Affichages: 40

Roland_M

XLDnaute Barbatruc
Re : Remplissage automatique

bonjour,

voir dans le classeur la routine modifiée !?
j'ai rectifié 'If Sh.Name <> "Espion" Then
car le code étant dans thisworkbook toutes les feuilles sont concernées
et j'ai eu un beau plantage en cliquant sur une autre feuille !
exemple si on clic dans "modif" ou "modif data"

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'If Sh.Name <> "Espion" Then
If Sh.Name = "Planning" Then 'il me semble que c'est cette feuille qui est concernée !?
   Application.EnableEvents = False
   Dim Dat As Date, Lig&, DernLig&
   Dat = Cells(Target.Row, 1) 'check la date dans la 1'col
   ValSaisie = Target
   Application.Undo  'annuler la modification
   Lig = Application.CountA(Sheets("Modif Data").Range("a:a")) + 1
   Sheets("Modif Data").Cells(Lig, 1) = Sh.Name
   Sheets("Modif Data").Cells(Lig, 2) = Target.Address
   Sheets("Modif Data").Cells(Lig, 3) = Now
   Sheets("Modif Data").Cells(Lig, 4) = Target
   Sheets("Modif Data").Cells(Lig, 5) = ValSaisie
   Sheets("Modif Data").Cells(Lig, 6) = Environ("username")
   Application.Undo  'Annuler l'annulation ;)
   'colle la date dans "Modif"
   DernLig = Sheets("Modif").Columns(2).Rows(Rows.Count).End(xlUp).Row 'd'une colonne (haut<bas)
   Sheets("Modif").Cells(DernLig + 1, 2) = Dat
   Application.EnableEvents = True
End If
End Sub
 

Pièces jointes

  • Planning à 5 vierge.xlsm
    155 KB · Affichages: 36
  • Planning à 5 vierge.xlsm
    155 KB · Affichages: 40
Dernière édition:

jeba14

XLDnaute Nouveau
Re : Remplissage automatique

Bonjour,

Ça a l air de fonctionner. je vous remercie énormément.

Oui il est possible que le code soit un peu bizard, en même temps je suis autodidacte sur excel donc je ne comprend pas toujours tous.

En tout cas merci beaucoup.

cordialement
 

jeba14

XLDnaute Nouveau
Bonjour,

je reviens vers vous a ce sujet.

Le code VBA fonctionne bien par contre, il s'arrête sur le remplissage automatique de la feuille espion à la ligne 230.

Avez vous une idée?

Cordialement
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
529

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom