Ifelse qui ne fonctionne pas

Signaler
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
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

Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018

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
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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.
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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)
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018

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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
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