Commande excel avec recherchev

Bonjour,

Ma commande : =SI(C14="";"";RECHERCHEV(C14;'Base de donnée'!$A$1:$C$645;3;FAUX)+366) marche très bien, mais le problème est que ma feuille 'Base de donnée' ce met à jour continuellement alors quand ma cellule faite le recherchev je voudrais que la formule disparaisse et que ce soit le résultat qui reste.

9 réponses

  1. Bonjour,

    Si tu veux que ta valeur reste la meme enleve la formule et tape la valeur directement
    1. Bonjour,
      Utilise une cellule cachée (dans une ligne ou colonne au choix ou une cellule écrite en blanc) qui contiendra ta formule et affichera le résultat et utilise une macro réalisée à l'aide de l'assistant pour copier ce résultat et coller sa valeur dans la bonne cellule.
      Affecte un bouton à cette macro afin de l'utiliser quand il le faut.
      Bon courage.
      1. Pour la première partie parfait il a pas de problème mais pour ce qui est de la macro comment je fait ?
        1. Utilise l'assistant enregistrer une macro
          Excel 2007 onglet Développeur, Code, Enregistrer une macro
          Excel 2003 Outils, Macro, Nouvelle macro

          exécute les manipulations pour copier le résultat de ta formule dans la cellule cachée que tu a crée et colle en collage spécial, valeur à l'emplacement voulu pour n'avoir que le résultat de ta formule.

          ensuite arrête l'enregistrement de la macro.

          affecte lui un bouton et utilise le à ton bon vouloir.
          1. Ah ok tu parles de cette façon, mais le but est de le faire en VBA pour que n'importe quel usager qui utilise le fichier ça s'inscrive seul.
            1. Un clic droit sur l'onglet de la feuille, visualiser le code et tu trouveras un module qui contient le code VBA de la macro que tu viens d'enregistrer. A toi de l'utiliser.
              1. En regardant plusieurs post sa devrait donner quelque chose comme :

                Private Sub Worksheet_SelectionChange(ByVal Target As Range)

                For W = 1 To Worksheets("Suivisignature2012").Range("annee").Rows.Count
                If Worksheets("Suivisignature2012").Cells(W, 2).Value = "" Then
                If Worksheets("Suivisignature2012").Cells(W, 1).Value = "*" Then
                Worksheets("Suivisignature2012").Cells(W, 2).Value = Cells(sel.Row, "C")
                End If
                End If
                Next W
                End Sub
                mais malheureusement sa ne marche pas
                1. Plutôt cela :

                  Sub Macro1()
                  '
                  ' Macro1 Macro
                  '

                  'se positionner sur la cellule à copier (celle qui contient le résultat de ta formule =SI(C14="";"";RECHERCHEV(C14;'Base de donnée'!$A$1:$C$645;3;FAUX)+366)
                  Range("A1").Select
                  'copier le contenu de cette cellule - clic droit, copier -
                  Selection.Copy
                  'se positionner à l'endroit où l'on veut coller le résultat
                  Range("F13").Select
                  'coller la valeur qui était affichée dans la cellule contenant la formule de calcul - clic droit, collage spécial, valeur -
                  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                  :=False, Transpose:=False
                  End Sub