Macro - erreur d'exécution '13'

  • Initiateur de la discussion Initiateur de la discussion almoha
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

almoha

XLDnaute Nouveau
Bonjour,

En voulant personnaliser une macro enregistrée, j'obtiens l'erreur suivante :

"Erreur d'exécution '13' - incompatibilité de type"

Le ligne à l'origine de l'erreur :
Code:
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[4],'FMRP_' & Replace(CStr(Date), " / ", " - ")' & !R[-1]C:R[10935]C[18],2,FALSE)"
Le nom de l'onglet dans lequel se trouve la table_array est dynamique : "FMRP_datedujour".
Je soupçonne une erreur de syntaxe (concaténation). Pouvez-vous m'aider à régler cette erreur ?
Merci.
 
Re : Macro - erreur d'exécution '13'

bonjour,

Peut-être:
Code:
ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[4],FMRP_" & Replace(CStr(Date), " / ", " - ") & "!R[-1]C:R[10935]C[18],2,FALSE)"

Manquaient les " avant le premier & et après le deuxième, des ' inutiles
Le replace serait-il avantageusement remplacé par Format(Date,"dd-mm-yyyy") ?

A+
 
Dernière modification par un modérateur:
Re : Macro - erreur d'exécution '13'

Merci pour la réponse. J'ai testé en suivant votre syntaxe et en utilisant Format(Date,"dd-mm-yyyy") :
Code:
ActiveSheet.Name = "FMRP_" & Format(Date, "dd-mm-yyyy") 'le nom de l'onglet actif devient FMRP_05-06-2013
ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC5,FMRP_" & Format(Date, "dd-mm-yyyy") & "!R1C1:R10937C19,11,FALSE)"

Après l'exécution de la macro, la formule suivante s'affiche :
Code:
=RECHERCHEV($E2;FMRP_05-6-'2013'!$A$1:$S$10937;2;FAUX)
ce qui ne fonctionne pas car la formule devrait être (testée manuellement et qui fonctionne) :
Code:
=RECHERCHEV($E2;'FMRP_05-06-2013'!$A$1:$S$10937;2;FAUX)
Voyez-vous comment modifier la macro en conséquence ? Merci encore.
 
Re : Macro - erreur d'exécution '13'

Re,

Alors il n'est pas bien compliqué de rajouter les ' manquants:

ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC5,'FMRP_" & Format(Date, "dd-mm-yyyy") & "'!R1C1:R10937C19,11,FALSE)"

Ou même
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC5,'" & ActiveSheet.Name & "'!R1C1:R10937C19,11,FALSE)"

Puisqu'une ligne plus haut le nom de la feuille est modifié.
Vérifier le 11 de VLOOKUP qui semble en contradiction avec le 2 mentionné dans ton post précédent.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
700
Réponses
2
Affichages
741
Retour