[Excel] Si valeur ici alors date du jour la . [Résolu/Fermé]

Signaler
Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
-
Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008
-
Bonjour a vous amis donneurs de coups de pouce,

Je suis au taf et je passe ma journée a faire des pesées, pour ça, dans excel, par ligne, je rentre 3 valeurs dans 3 cellules et la date du jour dans la 4eme.

Ma question est : Serait il possible d'avoir une formule qui fait que que je rentre une valeur dans la premiere cellule, la date du jour soit automatiquement entrée dans la 4eme cellule ?

Merci

8 réponses

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 138
Bonjour tous,
Mais non, excel peut très bien faire ca...mais avec un peu de code,
Si tu ne connait rien en VBA...
>> Alt+F11 >> Dans la fenêtre qui s'ouvre tu a sur la gauche la fenêtre Projet : VBAProjet où tu trouve le nom de tes feuilles >> double clic sur la feuille concernée et une fenêtre s'ouvre
Dans cette fenêtre tu fais un Copier/coller du code ci-dessous.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static AncAdress As String, AncCell As Variant
    If AncAdress <> "" Then 'pour 1ère initialisation.
        On Error GoTo Sortie
        If AncCell <> Range(AncAdress) Then
            If Range(AncAdress).Column = 1 Then
                Range(AncAdress).Offset(0, 3) = Date 'Changer le 3 pour autre colonne
            End If
        End If
    End If
Sortie:
    AncAdress = Target.Address
    AncCell = Target.Value2
End Sub

La macro est configurée pour que quand tu entre une donnée en Colonne A la date actuelle est entrée dans la colonne D
Il faut donc qu'il y ai une donnée dans la colonne A sinon ca marque pas.
Si, par après tu fait une modif dans la colonne A la date va se réinitialiser.
A+
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008

Ok genial ça marche nikel. Merci

Si j'ai deja une macro sur cette page du genre



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
    liste_rincage.Show
End If
If Target.Address = "$F$1" Then
    Range("F1").End(xlDown).Offset(1, 0).Activate
    ActiveCell.Value = Date
End If
If Target.Address = "$K$1" Then
    Range("K1").End(xlDown).Offset(1, 0).Activate
    ActiveCell.Value = Date
End If

End Sub


ou est ce que je cale la nouvelle ?
Est ce qu'on peux cumuler les macro ou doit on plutot les compiler pour n'en faire qu'une qui fait le tout ?
Messages postés
12
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
11 août 2008
7
oui bien sur, il suffit de mettre dans une 5ème cellule la formule suivante =aujourdhui()
ensuite dans ta 4ème cellule tu indiques =si(premièré cellule est vide;alors 4ème cellule vide; sinon 4ème cellule égale la 5ème). En langage excel ça donne ça =SI(A1="";"";E1).
Il suffit alors de mette ta 4ème cellule en format date et le tour est joué !
Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008

Yes, Merci Sevetbob !!!
ça marche nikel

rapide et efficace , c'est beau

Par contre est ce que j'ai pas le risque en faisant ça que la date change tout les jours ?
moi je voudrais qu'une fois cette date rentrée en D1, elle ne bouge plus .
Messages postés
23806
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
6 571
Bonjour,

ben si, demain elle indiquera 31/07...
Utilise le raccourci clavier ctrl+;

eric
Messages postés
12
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
11 août 2008
7
effectivement, je n'avais pas pensé à ça. Ta date va changer chaque jour donc ça ne va pas ce système
La seule solution que je connaisse alors et d'aller dans la 4ème cellule et de taper le raccourci suivant en appuyant à la fois sur Ctrl et sur ;
C'est moins bien mais plus rapide que de taper la date à chaque fois.
Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008

ha ok, j'ultilisais deja la methode du ctrl + ;

dommage, aurais-je surestimé Excel ?
Je ne pensais pas en trouver les limites des ma premiere tentative ... je suis deçu.
Messages postés
23806
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 janvier 2021
6 571
Tu as demandé une formule... après c'est par macro.
Mais ne t'inquiète pas, tu n'as pas fini de tout apprendre sur excel, ça t'occupera qcq années ;-)
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 138
comme ca...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'-------------------------------------------------------------------------
Static AncAdress As String, AncCell As Variant
    If AncAdress <> "" Then 'pour 1ère initialisation.
        On Error GoTo Sortie
        If AncCell <> Range(AncAdress) Then
            If Range(AncAdress).Column = 1 Then
                Range(AncAdress).Offset(0, 3) = Date 'Changer le 3 pour autre colonne
            End If
        End If
    End If
Sortie:
    AncAdress = Target.Address
    AncCell = Target.Value2
'-------------------------------------------------------------------------

If Target.Address = "$A$1" Then
    liste_rincage.Show
End If
If Target.Address = "$F$1" Then
    Range("F1").End(xlDown).Offset(1, 0).Activate
    ActiveCell.Value = Date
End If
If Target.Address = "$K$1" Then
    Range("K1").End(xlDown).Offset(1, 0).Activate
    ActiveCell.Value = Date
End If

End Sub

Mettre le code que j'ai fait en 1ér parce que quand tu quite une cellule de la colonne A tu change de feuille.
Les deux seront opérationnelles
A+
Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008

C'est enorme,
un dernier truc et c'est tout bon.

En fait je travail a 2 moment sur le meme objet a peser.
Donc sur une ligne j'ai la reference de l'echantillon, les pesée du jour A, la date du jour A, quelque jour apres je repese l'objet, même reference, mais les pesée du jour B et date du jour B

donc pour le moment je rentre une valeur dans la colonne A: (paf) y a la date qui se met en D
mais il me faudrait aussi sur la meme ligne quand je rentre une valeur en E: (bing) la date en H

Je l'ai pas dit tout de suite (sorry) parceque si ça avais été une formule j'aurais pu la transposer moi même,
(une macro en revanche j'y comprend pas grand yek, si ce n'est les annotations que tu as mis en vert )
Mea Culpa
Messages postés
11
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
7 août 2008

en bidouillant j'ai trouvé ça et ça me convient bien

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static AncAdress As String, AncCell As Variant
    If AncAdress <> "" Then 'pour 1ère initialisation.
        On Error GoTo Sortie
        If AncCell <> Range(AncAdress) Then
            If Range(AncAdress).Column = 2 Then
                Range(AncAdress).Offset(0, 4) = Date 'Changer le 3 pour autre colonne
            End If
            If Range(AncAdress).Column = 7 Then
                Range(AncAdress).Offset(0, 4) = Date 'Changer le 3 pour autre colonne
            End If
        End If
    End If
Sortie:
    AncAdress = Target.Address
    AncCell = Target.Value2
End Sub


Je pensais pas y arriver par tatonnement, mais si ...

Big Up a lermitte222 ainsi qu'a sevetbob et a eriiic
Merci a vous ,pour votre reactivité et votre pointillosité
et pis merci CCM !!!

Salut