[Excel] Si valeur ici alors date du jour la .

Résolu/Fermé
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008 - 30 juil. 2008 à 10:38
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008 - 30 juil. 2008 à 15:43
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
A voir également:

8 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
30 juil. 2008 à 13:27
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
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008
30 juil. 2008 à 14:02
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 ?
0
sevetbob16 Messages postés 12 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 11 août 2008 7
30 juil. 2008 à 10:49
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é !
1
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008
30 juil. 2008 à 10:56
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 .
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
30 juil. 2008 à 11:04
Bonjour,

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

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sevetbob16 Messages postés 12 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 11 août 2008 7
30 juil. 2008 à 11:07
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.
0
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008
30 juil. 2008 à 11:24
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.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
30 juil. 2008 à 13:05
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 ;-)
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
30 juil. 2008 à 14:10
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+
0
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008
30 juil. 2008 à 14:26
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
0
Boonjin Messages postés 11 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 7 août 2008
30 juil. 2008 à 15:43
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
0