Formule excel s'ajustant date du jour (ou vba [Résolu/Fermé]

Signaler
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
-
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015
-
Bonjour,

Voici une question dont je n'arrive pas à imaginer la réponse

J'ai en colonne G : une date appellé date de départ
J'ai en colonne H : un chiffre appellé temps de voyage
J'ai en colonne I : une date appellé date d'arrivée
Et sur la cellule N1 la date du jour par la formule aujourdhui()

Les bases étant fixé, je vous expose mon problème avec un exemple.

G = 04/06/2012 ; H = 27 ; I = 01/07/2012

Mais je voudrais que si I deviens inférieur à N1 (c'est à dire si I devient inférieur à la date du jour) alors G = I +1 soit 02/07/2012, H ne change pas et I devient 29/07/2012 et ainsi de suite.

Et je ne vois pas trop comment m'y prendre en fait...

3 réponses

Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015

Voici un fichier exemple avec un essai de formule infructueux.

Merci de votre retour

https://www.cjoint.com/?BFetOI9a2Rn
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015

Pouvez vous m'indiquer svp , si cela est impossible ou incompréhensible ?
Cela serait bien pour savoir si je dois m'orienter vers autre chose

Merci d'avance
Messages postés
15259
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 août 2020
1 319
Bonjour,

En VBA

Code a mettre dans la feuille

'Principe, ajoutez la boucle pour toutes les lignes
Private Sub xWorksheet_SelectionChange(ByVal Target As Range)
  If Range("I1") < Range("N1") Then
    Range("G1") = Range("I1") + 1
    Range("I1") = Range("G1") + Range("H1")
  End If
End Sub


Bonne suite
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015

Bonjour,

Je ne suis toujours pas au point au niveau des boucles...

J'ai essayer de faire cela mais il me semble que c'est du grand n'importe quoi...

Private Sub xWorksheet_SelectionChange(ByVal Target As Range)
  
  Dim Derlig As Long, i As Long,
    Derlig = Range("G" & Rows.Count).End(xlUp).Row
        With Sheets("HS")

    'If Range("I2") < Range("M1") Then
    For i = 2 To Derlig
    If .Cells(i, 9) < .Cells(1, 13) Then
            'Range("G2") = Range("I2") + 1
            .Cells(i, 7) = .Cells(i, 9) + 1
            'Range("I2") = Range("G2") + Range("H2")
            .Cells(i, 9) = .Cells(i, 7) + Cells(i, 8)

    End If
Next i
  
End Sub
Messages postés
15259
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 août 2020
1 319
Bonjour,

Je regarde ce qui ne va pas. Par contre il fallait enlever le x devant Worksheet_.......
Messages postés
15259
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 août 2020
1 319
Re,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  
  Dim Derlig As Long, i As Long
    
    With Sheets("HS")
      Derlig = .Range("G" & Rows.Count).End(xlUp).Row
      For i = 2 To Derlig
        'If .Range("I" & i) < .Range("M" & i) Then
        ' ou
        If .Cells(i, 9) < .Cells(1, 13) Then
          .Range("G" & i) = .Range("I" & i) + 1
          ' ou
          '.Cells(i, 7) = .Cells(i, 9) + 1
          .Range("I" & i) = .Range("G" & i) + .Range("H" & i)
          ' ou
          '.Cells(i, 9) = .Cells(i, 7) + .Cells(i, 8)
        End If
      Next i
    End With
End Sub


Cela devrait aller.
Messages postés
328
Date d'inscription
lundi 5 mars 2012
Statut
Membre
Dernière intervention
15 juillet 2015

Merci bien
Cela marche nickel !

J'ai simplement du déplacer le code dans sur l'évènement click du button dans le userform en question car cela m'affichait un probleme avec le code dans la feuille.

Cordialement