Bonjour à tous.
C'est ma première intervention sur ce forum.
Voilà ce qui m'amène:
J’ai deux feuilles dans le même classeur: une feuille Activité trad. (je suis traducteur) et une feuille Clients. La première feuille fait la liste au jour le jour des jobs que l’on me confie. La seconde est la liste de mes clients avec les tarifs que je leur applique.
Dans la première, lorsque je crée la ligne d’un nouveau job, je dois rentrer le montant à facturer du job. Je facture dans deux devises: dollar et euro. Je souhaiterais que le format monétaire de la cellule soit automatiquement appliqué en fonction du client qui m’a commandé le job.
Ce client est indiqué dans la méme ligne dans une cellule située 7 colonnes avant.
Par ailleurs, ce même client apparaît dans ma seconde feuille et une cellule indique la devise à lui appliquer.
J’ai donc écrit la procédure VBA suivante:
L’exécution de cette procédure donne l’erreur suivante:
et l’infobulle de la ligne en erreur indique que l’erreur porte sur l’argument Range("Clients!$A$1:$C$29".
Je n’arrive pas à comprendre où est l’erreur.
Toute aide sera la bienvenue. Merci par avance.
Cordialement.
C'est ma première intervention sur ce forum.
Voilà ce qui m'amène:
J’ai deux feuilles dans le même classeur: une feuille Activité trad. (je suis traducteur) et une feuille Clients. La première feuille fait la liste au jour le jour des jobs que l’on me confie. La seconde est la liste de mes clients avec les tarifs que je leur applique.
Dans la première, lorsque je crée la ligne d’un nouveau job, je dois rentrer le montant à facturer du job. Je facture dans deux devises: dollar et euro. Je souhaiterais que le format monétaire de la cellule soit automatiquement appliqué en fonction du client qui m’a commandé le job.
Ce client est indiqué dans la méme ligne dans une cellule située 7 colonnes avant.
Par ailleurs, ce même client apparaît dans ma seconde feuille et une cellule indique la devise à lui appliquer.
J’ai donc écrit la procédure VBA suivante:
devise = Application.WorksheetFunction.VLookup(ActiveCell.Offset(0, -7), Range("Clients!$A$1:$C$29"), 2)
If devise = "€" Then
ActiveCell.NumberFormat = "#,##0.00_\€;#,##0.00_\€"
End If
L’exécution de cette procédure donne l’erreur suivante:
Erreur d’exécution 1004
La méthode ’Range’ de l’objet ’_Worksheet’ a échoué
et l’infobulle de la ligne en erreur indique que l’erreur porte sur l’argument Range("Clients!$A$1:$C$29".
Je n’arrive pas à comprendre où est l’erreur.
Toute aide sera la bienvenue. Merci par avance.
Cordialement.
Dernière modification par un modérateur: