Bonjour,
Je suis en train de réaliser un tableau excel. Une personne a réalisée une partie du code VBA, et je ne sais pas l'utiliser. J'ai bien fait quelques recherches, mais je pense que le code que je souhaite mettre est faux...
Voilà le les cellules :
Colonne G = durée, colonne H = Début, colonne I = fin
Je souhaite que dans les cellules des colonnes G et I, on puisse saisir une donnée, ou utiliser une formule : que l'on note la date de début, et que la date de fin soit calculée avec le nombre de jours, ou que le nombre de jours soit calculé avec la date de fin. J'y arrive avec formule, mais dès qu'une donnée est saisie, la formule est effacée (oui, c'est logique). Il faudrait qu'elle soit conservée (c'est à dire saisie manuelle ou utilisation de formule).
Après plusieurs essais (un qui a fonctionné mais qu'un plantage m'a empêché de conserver), je vous mets le dernier 'code' (très mal fait, je vous l'accorde).
Si quelqu'un peut m'aider....
Private Sub Worksheet_Change2(ByVal Target As Range)
Application.EnableEvents = False
Select Case Target.Address(0, 0)
If Range"G7" <> "" Then
Range("I7").FormulaLocal = "= G7+H7"
Else: Range("G7") = Range("G7").value
End If
ElseIf Range"I7" <> "" Then
Range("G7").FormulaLocal = "= I7-H7"
Else: Range("I7").FormulaLocal = ("I7")
End If
End Select
Application.EnableEvents = True
End Sub
Merci d'avance !!!!!
et bonne journée !
Je suis en train de réaliser un tableau excel. Une personne a réalisée une partie du code VBA, et je ne sais pas l'utiliser. J'ai bien fait quelques recherches, mais je pense que le code que je souhaite mettre est faux...
Voilà le les cellules :
Colonne G = durée, colonne H = Début, colonne I = fin
Je souhaite que dans les cellules des colonnes G et I, on puisse saisir une donnée, ou utiliser une formule : que l'on note la date de début, et que la date de fin soit calculée avec le nombre de jours, ou que le nombre de jours soit calculé avec la date de fin. J'y arrive avec formule, mais dès qu'une donnée est saisie, la formule est effacée (oui, c'est logique). Il faudrait qu'elle soit conservée (c'est à dire saisie manuelle ou utilisation de formule).
Après plusieurs essais (un qui a fonctionné mais qu'un plantage m'a empêché de conserver), je vous mets le dernier 'code' (très mal fait, je vous l'accorde).
Si quelqu'un peut m'aider....
Private Sub Worksheet_Change2(ByVal Target As Range)
Application.EnableEvents = False
Select Case Target.Address(0, 0)
If Range"G7" <> "" Then
Range("I7").FormulaLocal = "= G7+H7"
Else: Range("G7") = Range("G7").value
End If
ElseIf Range"I7" <> "" Then
Range("G7").FormulaLocal = "= I7-H7"
Else: Range("I7").FormulaLocal = ("I7")
End If
End Select
Application.EnableEvents = True
End Sub
Merci d'avance !!!!!
et bonne journée !