Bonjour à tous.
Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye
désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale
ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne
d'un tableau que je récupère tous les mois, dans l'intention de recopier
cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur
du débogueur: "Erreur de compilation Attendu fin d'instruction".
Comment dois-je écrire cette condition pourtant simple ?
--
LucienMarcel
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
à placer dans un module standard :
'---------------------------- Function Test(Rg As Range)
Test = Evaluate("if(or(" & Rg.Address(0, 0) & _ "=""Logistique locale ou de zone""," & _ Rg.Address(0, 0) & "=""Mitel""),""LogMit"","""")")
End Function '----------------------------
Dans la feuille de calcul, tu inscris dans la cellule : =Test(AU3)
Tu peux recopier la formule sur les cellules de ta colonne.
"LucienMarcel" a écrit dans le message de news: Bonjour à tous. Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne d'un tableau que je récupère tous les mois, dans l'intention de recopier cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur du débogueur: "Erreur de compilation Attendu fin d'instruction". Comment dois-je écrire cette condition pourtant simple ? -- LucienMarcel
à placer dans un module standard :
'----------------------------
Function Test(Rg As Range)
Test = Evaluate("if(or(" & Rg.Address(0, 0) & _
"=""Logistique locale ou de zone""," & _
Rg.Address(0, 0) & "=""Mitel""),""LogMit"","""")")
End Function
'----------------------------
Dans la feuille de calcul, tu inscris dans la cellule :
=Test(AU3)
Tu peux recopier la formule sur les cellules de ta colonne.
"LucienMarcel" <LucienMarcel@discussions.microsoft.com> a écrit dans le
message de news: D785AF53-0631-4E88-96BE-9C0F7E7B95C6@microsoft.com...
Bonjour à tous.
Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye
désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale
ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne
d'un tableau que je récupère tous les mois, dans l'intention de recopier
cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur
du débogueur: "Erreur de compilation Attendu fin d'instruction".
Comment dois-je écrire cette condition pourtant simple ?
--
LucienMarcel
'---------------------------- Function Test(Rg As Range)
Test = Evaluate("if(or(" & Rg.Address(0, 0) & _ "=""Logistique locale ou de zone""," & _ Rg.Address(0, 0) & "=""Mitel""),""LogMit"","""")")
End Function '----------------------------
Dans la feuille de calcul, tu inscris dans la cellule : =Test(AU3)
Tu peux recopier la formule sur les cellules de ta colonne.
"LucienMarcel" a écrit dans le message de news: Bonjour à tous. Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne d'un tableau que je récupère tous les mois, dans l'intention de recopier cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur du débogueur: "Erreur de compilation Attendu fin d'instruction". Comment dois-je écrire cette condition pourtant simple ? -- LucienMarcel
Papyjac
Bonjour Lucien,
Comme tu l'auras compris, le résultat est un peu "du chinois". Une formule déjà, ce peut être coton, mais rédigée en VBA c'est encore pire ! Et je te dis pas, pour la maintenance.
Donc, je déconseille cette technique là, si on peut l'éviter.
Personnellement, j'écris ma formule dans un classeur modèle (c'est à dire sans donnée, mais de même structure que le classeur contenant les données). Ensuite, j'effectue un copier-coller de cette formule, et Excel ce charge de tranposer les adresses des lignes et colonnes
Dans ce cas, mon code est indépendant des formules
-- Papyjac
"michdenis" a écrit :
à placer dans un module standard :
'---------------------------- Function Test(Rg As Range)
Test = Evaluate("if(or(" & Rg.Address(0, 0) & _ "=""Logistique locale ou de zone""," & _ Rg.Address(0, 0) & "=""Mitel""),""LogMit"","""")")
End Function '----------------------------
Dans la feuille de calcul, tu inscris dans la cellule : =Test(AU3)
Tu peux recopier la formule sur les cellules de ta colonne.
"LucienMarcel" a écrit dans le message de news: Bonjour à tous. Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne d'un tableau que je récupère tous les mois, dans l'intention de recopier cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur du débogueur: "Erreur de compilation Attendu fin d'instruction". Comment dois-je écrire cette condition pourtant simple ? -- LucienMarcel
Bonjour Lucien,
Comme tu l'auras compris, le résultat est un peu "du chinois". Une formule
déjà, ce peut être coton, mais rédigée en VBA c'est encore pire ! Et je te
dis pas, pour la maintenance.
Donc, je déconseille cette technique là, si on peut l'éviter.
Personnellement, j'écris ma formule dans un classeur modèle (c'est à dire
sans donnée, mais de même structure que le classeur contenant les données).
Ensuite, j'effectue un copier-coller de cette formule, et Excel ce charge de
tranposer les adresses des lignes et colonnes
Dans ce cas, mon code est indépendant des formules
--
Papyjac
"michdenis" a écrit :
à placer dans un module standard :
'----------------------------
Function Test(Rg As Range)
Test = Evaluate("if(or(" & Rg.Address(0, 0) & _
"=""Logistique locale ou de zone""," & _
Rg.Address(0, 0) & "=""Mitel""),""LogMit"","""")")
End Function
'----------------------------
Dans la feuille de calcul, tu inscris dans la cellule :
=Test(AU3)
Tu peux recopier la formule sur les cellules de ta colonne.
"LucienMarcel" <LucienMarcel@discussions.microsoft.com> a écrit dans le
message de news: D785AF53-0631-4E88-96BE-9C0F7E7B95C6@microsoft.com...
Bonjour à tous.
Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye
désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale
ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne
d'un tableau que je récupère tous les mois, dans l'intention de recopier
cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur
du débogueur: "Erreur de compilation Attendu fin d'instruction".
Comment dois-je écrire cette condition pourtant simple ?
--
LucienMarcel
Comme tu l'auras compris, le résultat est un peu "du chinois". Une formule déjà, ce peut être coton, mais rédigée en VBA c'est encore pire ! Et je te dis pas, pour la maintenance.
Donc, je déconseille cette technique là, si on peut l'éviter.
Personnellement, j'écris ma formule dans un classeur modèle (c'est à dire sans donnée, mais de même structure que le classeur contenant les données). Ensuite, j'effectue un copier-coller de cette formule, et Excel ce charge de tranposer les adresses des lignes et colonnes
Dans ce cas, mon code est indépendant des formules
-- Papyjac
"michdenis" a écrit :
à placer dans un module standard :
'---------------------------- Function Test(Rg As Range)
Test = Evaluate("if(or(" & Rg.Address(0, 0) & _ "=""Logistique locale ou de zone""," & _ Rg.Address(0, 0) & "=""Mitel""),""LogMit"","""")")
End Function '----------------------------
Dans la feuille de calcul, tu inscris dans la cellule : =Test(AU3)
Tu peux recopier la formule sur les cellules de ta colonne.
"LucienMarcel" a écrit dans le message de news: Bonjour à tous. Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne d'un tableau que je récupère tous les mois, dans l'intention de recopier cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur du débogueur: "Erreur de compilation Attendu fin d'instruction". Comment dois-je écrire cette condition pourtant simple ? -- LucienMarcel
LucienMarcel
Merci à tous les deux. Je vais essayer les 2 méthodes. Luc -- LucienMarcel
"LucienMarcel" a écrit :
Bonjour à tous. Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne d'un tableau que je récupère tous les mois, dans l'intention de recopier cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur du débogueur: "Erreur de compilation Attendu fin d'instruction". Comment dois-je écrire cette condition pourtant simple ? -- LucienMarcel
Merci à tous les deux. Je vais essayer les 2 méthodes.
Luc
--
LucienMarcel
"LucienMarcel" a écrit :
Bonjour à tous.
Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye
désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale
ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne
d'un tableau que je récupère tous les mois, dans l'intention de recopier
cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur
du débogueur: "Erreur de compilation Attendu fin d'instruction".
Comment dois-je écrire cette condition pourtant simple ?
--
LucienMarcel
Merci à tous les deux. Je vais essayer les 2 méthodes. Luc -- LucienMarcel
"LucienMarcel" a écrit :
Bonjour à tous. Avec mes piètres connaissances de VBA (sous Excel2003), j'essaye désespéremment d'écrire en programmation VBA: =SI(OU(AU3="Logistique locale ou de zone";AU3="Mitel");"LogMit";" ") dans une zone de la première ligne d'un tableau que je récupère tous les mois, dans l'intention de recopier cette formule sur toutes les lignes. Mais je me heurte à un message d'erreur du débogueur: "Erreur de compilation Attendu fin d'instruction". Comment dois-je écrire cette condition pourtant simple ? -- LucienMarcel