Question excel

Résolu
Bonjour,

Je voudrais qu'une cellule d'un tableau excel change (en temps réel) en fonction de la cellule active.

Par exemple, je voudrais que la cellule A1 soit égale à la valeur de B12 si la cellule active est B11

A1 soit égale à la valeur de B22 si la cellule active est B21
A1 soit égale à la valeur de B37 si la cellule active est B36
A1 soit égale à la valeur de B9999 si la cellule active est B9998

.....

Dois-je faire une macro (activecell.value; offset ...) ou puisje utiliser une formule ?
Configuration: Windows Vista Internet Explorer 7.0

7 réponses

  1. finalement j'utilise cette macro qui évite un bug lorsque on sélectionne une ligne ou une colonne (je n'ai pas besoin de cellules fusionnées)

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("D11:N65535")) Is Nothing Then: Exit Sub
    If Target.Cells.Count > 1 Then: Exit Sub
    Range("B8").Value = Target.Offset(0, 1).Value
    End Sub
    0
    1. merci beaucoup michel, ça fonctionne, ton aide m'a été d'un grand secours, je te remercie

      voila la macro que j'utilise finalement:

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Intersect(Target, Range("B2:Z65535")) Is Nothing Then: Exit Sub
      Range("A1") = Target.Offset(0, 1)
      End Sub

      MERCI
      0
      1. ca fonctionne merci beaucoup, par contre je me suis trompé dans mon exemple

        A1 égale la valeur de droite de la cellule active

        si la cellule active est C11 alors A1 est égale à D11
        0
        1. Contributeur
          Bonjour

          Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          If Intersect(Target, Range("B1:B65535")) Is Nothing Then: Exit Sub
          Range("A1") = Target.Offset(1, 0)
          End Sub


          fait un copier de cette macro événementielle
          clic droit sur l'onglet de la feuille concernée
          visualiser le code
          coller
          0
          1. Merci de l'intéret porté à ma question

            j'ai essayé cette macro, ça ne fonctionne pas, la cellule A1 reste vierge

            sub toto()
            [a1] = ActiveCell.Value
            End Sub

            en revanche, ça fonctionne si j'attribue cette macro à un bouton, par contre il manque toujours l'offset d'1 case
            0
            1. [a1] = ActiveCell.Value (c'est une macro)
              0