Bonjour,
Je n'arrive pas à trouver le code nécessaire pour que lorsque un utilisateur change le contenu d'une cellule qu'on appellera cell1 dans une plage ( tableau d'inventaire ) et qu'il sélectionne par n'importe quel moyen ( touche enter, flèche de direction ou clic ) une autre cellule qu'on appellera cell2, cela calcule en cell3, dans la ligne de la cellule cell1 et dans une colonne déterminée la fonction aujourd'hui.
j'ai testé avec worksheets_change le code suivant :
mais le résultat est conditionné à la façon de "changer" d'activecell , en l'occurence avec ce code il faut obligatoirement changer de cellule par le retour à la ligne: activecell.row-1 et je séche pour trouver le code applicable à n'importe quel type de changement de cellule.
En bref , j'aimerais savoir si vous pouvez me dire si c'est possible d'effectuer les opérations suivantes ou l'equivalent:
1-récupération ligne de la cellule active cellule1
2-detection de changement de selection de cellule1 vers cellule2 AVEC modification du contenu de la cellule1
3-application formule sur cellule3 de la ligne de cellule1
et dans ce cas quel est le code à utiliser.
Un grand merci d'avance pour vos éventuelles réponses.
Je n'arrive pas à trouver le code nécessaire pour que lorsque un utilisateur change le contenu d'une cellule qu'on appellera cell1 dans une plage ( tableau d'inventaire ) et qu'il sélectionne par n'importe quel moyen ( touche enter, flèche de direction ou clic ) une autre cellule qu'on appellera cell2, cela calcule en cell3, dans la ligne de la cellule cell1 et dans une colonne déterminée la fonction aujourd'hui.
j'ai testé avec worksheets_change le code suivant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3:D8")) Is Nothing Then 'detection du changement sur la plage
i = (ActiveCell.Row) - 1 'variable de la ligne de la cellule changée ( ne pas changer sauf si modification du retour à la ligne )
j = 26 'variable de la colonne du calcul ( qui peut changer selon le nombre de colonne du tableau, elle doit se trouver en dehors de ce dernier)
Cells(i, j).FormulaLocal = "=AUJOURDHUI()" ' calcul de la fonction aujourd'hui
k = 7 'variable de la colonne mise à jour ( nombre de la lettre dans l'ordre alaphabetique aa=28 )
Range("Z" & i).Copy ' copie de la cellule du calcul aujourd'hui
Range("G" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False ' coller en valeur uniquement pour éviter que les données calcul se mettent à jour à chaque ouverture du fichier
End If
mais le résultat est conditionné à la façon de "changer" d'activecell , en l'occurence avec ce code il faut obligatoirement changer de cellule par le retour à la ligne: activecell.row-1 et je séche pour trouver le code applicable à n'importe quel type de changement de cellule.
En bref , j'aimerais savoir si vous pouvez me dire si c'est possible d'effectuer les opérations suivantes ou l'equivalent:
1-récupération ligne de la cellule active cellule1
2-detection de changement de selection de cellule1 vers cellule2 AVEC modification du contenu de la cellule1
3-application formule sur cellule3 de la ligne de cellule1
et dans ce cas quel est le code à utiliser.
Un grand merci d'avance pour vos éventuelles réponses.