Erreur d'incompatibilité 13

Résolu
S9091 Messages postés 8 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
je souhaite trouver à l'aide d'un code VBA ou une association de fonctions excel la date du premier jour J qui vient après une date donnée. un exemple pourra peut être simplifier le problème:
Supposant que la date est le 11/07/2016 et je veux connaitre la date du premier jeudi qui vient après cette date . Comment faire ???
J'ai essayé d'écrire un code VBA mais une erreur d'exécution '13' type d'incompatibilité apparait au niveau de cette ligne:
Loop While [VLOOKUP(RC[-9],Clients!C[-13]:C[22],MATCH(WEEKDAY(RC[8],1),Clients!R1C31:R1C36,1)+30,0)="YES"]

et voilà tout le code:
Sub Macro1()
'
' Macro1 Macro
'

Do
ActiveCell.FormulaR1C1 = _
"=IF(VLOOKUP(RC[-9],Clients!C[-13]:C[22],MATCH(WEEKDAY(RC[8],1),Clients!R1C31:R1C36,1)+30,0)=""NO"",RC[1],RC[1]+1)"
Range("N2").Select
Loop While [VLOOKUP(RC[-9],Clients!C[-13]:C[22],MATCH(WEEKDAY(RC[8],1),Clients!R1C31:R1C36,1)+30,0)="YES"]
Selection.AutoFill Destination:=Range("N2:N24"), Type:=xlFillDefault
Range("N2:N24").Select
End Sub

HELP PLEASE!!!!!
merci d'avance :))

4 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour S, bonjour le forum,

    à adapter à ton cas :

    Sub Macro1()
    Dim D As Date 'déclare la variable D (Date)
    Dim I As Byte 'déclare la variable I (incrément)
    Dim DJ As Date 'déclare la variable DJ (Date du Jeudi)
    
    D = CDate(Range("A1")) 'définit la date D
    For I = 1 To 7 'boucle sur 7 jours
        'si la date D + 1 tombe un jeudi, définit la date DJ, sort de la boucle
        If Format(D + I, "DDDD") = "jeudi" Then DJ = D + I: Exit For
    Next I 'prochain jour de la boucle
    MsgBox DJ 'affiche la date DJ dans une message
    End Sub
    

    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    La date en A2
    essaies ceci pour la date du jeudi suivant
    =SI(JOURSEM(A2)=5;A2+7;SI(JOURSEM(A2)<5;A2+5-JOURSEM(A2);A2+12-JOURSEM(A2)))

    Cdlmnt
    0
  3. S9091 Messages postés 8 Statut Membre
     
    Merci beaucoup pour le temps que vous avez consacrer à lire mon message et surtout merci pour votre aide mais mon problème est un peu plus complexe que ça . En fait, ce jour j est le résultat d'une recherche conditionnelle . Je m'explique: j'ai une liste de clients ainsi que leurs identifiants et comme colonne on a les jours de semaine ( du lundi au samedi). Donc si le clients est livré à un certain jour on lui attribue un "yes" sinon "no" de même pour le reste des jours de la semaine.
    Ma question est alors la suivant: comment introduire cette notion de recherche dans le code ci_dessus ??
    merci :)
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Peux tu envoyer un bout de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

    1) Tu vas dans https://www.cjoint.com/
    2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
    3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
    4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
    en bleu souligné ; tu le sélectionnes et tu fais "Copier"
    5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
    tu fais "Coller".

    Cdlmnt
    0