Ifelse qui ne fonctionne pas

znort25x12 - 30 juin 2013 à 21:04
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 2 juil. 2013 à 17:15
Bonjour à tous,

je cherche à remplacer le nom de mes commerciaux par leurs initiales en utilisant une structure if then ifelse... mais je ne comprends pas, cela ne fonctionne pas.

est-ce que quelqu'un pourrait me dire ce qui ne va pas dans ce que j'écris svp?


If Range("gmchAccountOwner").Value = "Lorenzo, Simone" Then
Range("gmchAccountOwner") = "SL"
ElseIf gmchAccountName = "Enrico Raoul" Then
gmchAccountName.Value = "ER"
Else: gmchAccountName = "CH"
End If

Merci par avance!

8 réponses

CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
30 juin 2013 à 21:22
Bonjour,

Déjà, utilise la bonne mise en page sur ce forum (3ème icône en partant de la droite, choix VB
If Range("gmchAccountOwner").Value = "Lorenzo, Simone" Then 
Range("gmchAccountOwner") = "SL" 
ElseIf gmchAccountName = "Enrico Raoul" Then 
gmchAccountName.Value = "ER" 
Else: gmchAccountName = "CH" 
End If 


Ta syntaxe n'est pas correcte.
(Regarde bien ton message d'erreur!)

Que veux-tu exactement ?
Rataxes64
0
Merci d'essayer de m'aider rataxes64.

Je suis loin d'être une spécialiste VBA, j'essaie juste de me faciliter la vie dans mes reportings.
J'ai un tableau avec environ 2000 clients et à chaque client correspond un nom de commercial.
J'ai appelé la colomne ou apparaît les noms de commerciaux "gmchAccountOwner". Dans cette même colomne, je dois remplacer le nom du commercial par ses initiales.
Voici un aperçu de mon tableau actuellement:

numéro client commercial nom client Chiffre d'affaires
1111111111 Lorenzo, Simone toto1 86916
2222222222 Enrico, Raoul toto2 63477

Voici ce que je voudrais obtenir:
numéro client commercial nom client Chiffre d'affaires
1111111111 SL toto1 86916
2222222222 ER toto2 63477

J'ai essayé de changer un peu tout dans ma structure: les guillemets, les parenthèses, rien n'y fait!

Merci pour ton conseil, je n'arrive plus à voir ce qui ne va pas, je deviens chèvre...

Laure
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2013 à 22:32
Bonjour,
l'informatique ne peut que répondre à une logique pure (et donc toujours la même). Aucune place n'est laissée à la perception humaine.
Or, dans tes exemple, tu fais intervenir la perception humaine, puisque :
ici : Lorenzo, Simone === tu traduis par SL (soit le second en 1er)
et là : Enrico, Raoul ===>> tu traduis par ER (soit le 1er en 1er).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonsoir UCfoutu,

Je vais reformuler, donc.

Je souhaite simplement remplacer un texte par un autre (ER, RE ou tartampion c'est égal). tant que je peux sélectionner la valeur que je souhaite remplacer dans la colomne nommée et réinscrire le texte voulu.
Utiliser la fonction Excel Chercher-Remplacer prendrait trop de temps (j'ai 15 commerciaux + les clients non attribués) et c'est toujours la même démarche.
D'où l'intérêt pas passer par une programmation VBA
J'avais pensé aussi utiliser un tableau de référence, mais déjà que mon If then... ne fonctionne pas, je n'ose même pas essayer!

J'espère que mon explication, très féminine (et donc plus émotionnelle que logique) te satisfait.

Laure
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 juin 2013 à 23:22
Ben ...
Ouvre donc ton aide VBA sur le mot Replace === >> choisis la rubrique Range.Replace, méthode et lis, puis applique. Elle est même assortie d'un exemple. Il te faudra la "lancer" pour chacune des associations (ex "Lorenzo, Simone") que tu veux modifier


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 juil. 2013 à 00:10
Salut

Un coup, c'est Range("gmchAccountOwner")
La ligne du dessous, c'est gmchAccountOwner tout court.
Qui est qui ? Quoi est quoi ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
0
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
1 juil. 2013 à 02:36
Bon,

Laure, puisque Laure il y a, est visiblement désorientée...

1°)
Je dois remplacer le nom du commercial par ses initiales.
Voici un aperçu de mon tableau actuellement:
numéro client commercial nom client Chiffre d'affaires
1111111111 Lorenzo, Simone toto1 86916

2°)
je voudrais obtenir:
numéro client commercial nom client Chiffre d'affaires
1111111111 SL toto1 86916


AVANT de construire un code quelconque: Réfléchi:

-Est-ce que ces données sont dans une seule colonne ?
-Est-se que les N° de client sont tous composés du même nombre de chiffres ?
-Derrière ce N°, c'est le nom, ou le prénom?
-Es-tu sûre (je met un "e" puisque c'est Laure!) qu'il n'y a pas d'inversion?
-Es-tu sûre qu'il faut bien prendre seulement les lettres d'en-tête et dans cet ordre (d'habitude on utilise plutôt des trigrammes)?dans cet ordre.
-Préfères-tu passer par formules ou par macro?
Voila des réponses fondamentales à connaître (entre autres)

Par exemple, si tu sélectionnes ta colonne pour la convertir en 2 (par exemple selon l'espace entre le N° client et le reste si c'est possible) - attention qu'il te faudra une colonne vide à côté- tu pourras t'affranchir de N° Client "bizarres". Ce sera peut-être plus facile ensuite de traiter les chaînes de caractères des nom et prénoms...

Examine de très près ton fichier, et travaille sur une copie. On ne peut pas faire marche arrière après une macro!

Redéfinit-nous BIEN ton besoin, travaille un code correct avec l'Aide Excel, et on pourra mieux t'aider.

A+

Cordialement
Rataxes64
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 juil. 2013 à 17:15
Bonjour,

As-tu pensé à une rechercheV dans une autre feuille qui contiendrait les noms en colonne A et les abbréviations en colonne B ?


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous