Formule excel s'ajustant date du jour (ou vba

Résolu
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -  
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention   -
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...
A voir également:

3 réponses

Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
Voici un fichier exemple avec un essai de formule infructueux.

Merci de votre retour

https://www.cjoint.com/?BFetOI9a2Rn
0
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
0
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Je regarde ce qui ne va pas. Par contre il fallait enlever le x devant Worksheet_.......
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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.
0
Co_nexion Messages postés 328 Date d'inscription   Statut Membre Dernière intervention  
 
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
0