Aide vba

Résolu
Bonjour,
voila, je cherche une fonction qui me permettrait en gros demettre cette condition:
si la formule de la cellule commence par getctdat( , alors....

mais jene sais pas comment traduire la condition en vba...

merci
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

  1. tu peux essayer (je connais que le VBA, mais pas le VB, je sais pas si cela va t'aider):

    If worksheets("nom_de_ta_feuille).range("nom_ou_coordonnées_de_ta_cellule").Formula="getctdat(..." Then
    ...
    ...
    Else
    ...
    End If

    bne journée :)
    1. bah ça marche pas.

      en fait, si je reformule ma question, je voudrais savoir quel caractete remplace une chaine de caractere
      1. je ne comprends pas la question maintenant...
        Quel est le but de ce que tu veux faire, nous pourrions y voir plus clair peut-être

        A ploutch`
        1. Je veux que toutes les cellules dont la formule commence par getctat( quelques soient les arguments de cette fonction soient copiés et collés en valeurs

          je sais pas si c'est beaucoup plus clair... :S
          1. Si tu veux verifier que le debut de la formule (sans le signe =) est egal à "getctdat" sans distinction de ce qu'il y a derrière, utilise Left et Right pour extraire le morceau dela chaine sur lequel tu veux faire la comparaison...

            If Right(Left(ActiveCell.Formula, 9), 8) = "getctdat" Then
            MsgBox "c'est OK"
            End If

            :-)
            1. tu peux essayer ça... tiens moi o courant, mci

              Private Sub CommandButton1_Click()

              If Range("a1").Formula = "=36*6" Then
              'pour tester si la formule marche
              MsgBox "OK"
              Range("nom_de_cellule").Select
              'selectionne la cellule qui correspond à ton critère
              Selection.Copy
              'et finalement colle unique les valeurs dans les cellules de destination (en occurence la cellule de départ
              Range("nom_de_la_cellule_où_tu_veux_copier_la_valeur_uniquement").Select
              Selection.PasteSpecial Paste:=xlPasteValues
              Else
              MsgBox "IL YA UN PROBLEME"
              End If

              End Sub
              1. j'ai fait cette formule, d83 est une ceulle concernée par cette formule, et ça met sorry.......

                Sub test()
                Range("d83").Select

                If Right(Left(ActiveCell.Formula, 9), 8) = "GetCtData" Then
                MsgBox "ok"
                Else
                MsgBox "sorry"
                End If

                End Sub
                1. Ben chez moi ça marche...C'est pas un pb de casse avec les GetCtDat...? De toute façon si l'autre script fonctionne, ça roule :-)