Aide vba

Résolu
delfleflille Messages postés 24 Statut Membre -  
Fxbrg Messages postés 715 Statut Membre -
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. Nicos pgt 407
     
    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 :)
    0
  2. delfleflille Messages postés 24 Statut Membre 4
     
    bah ça marche pas.

    en fait, si je reformule ma question, je voudrais savoir quel caractete remplace une chaine de caractere
    0
  3. Nicos pgt 407
     
    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`
    0
  4. delfleflille Messages postés 24 Statut Membre 4
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Fxbrg Messages postés 715 Statut Membre 199
     
    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

    :-)
    0
  7. Nicos pgt 407
     
    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
    0
  8. delfleflille Messages postés 24 Statut Membre 4
     
    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
    0
  9. delfleflille Messages postés 24 Statut Membre 4
     
    ça marche Nicos pgt 407
    0
  10. Nicos pgt 407
     
    OKay, c'est cool alors.
    Au plaisir.
    Ciao !
    0
  11. Fxbrg Messages postés 715 Statut Membre 199
     
    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 :-)
    0