Bonjour à tous,
Je souhaite finaliser une macro Excel, mais une formule me pose problème.
Situation :
J'ai une liste de noms dans la colonne B sous plusieurs formats (NOM,PRENOM - Prenom NOM - PRENOM NOM).
Je souhaite les copiers en colonne C sous un seul format (NOM,PRENOM).
Problème :
J'ai écrit une formule permettant ce chagement de format. Elle fonctionne très bien sous Excel. Dès que je la retranscrit dans la page de code, soit manuellement, soit par enregistrement automatique, et que je lance la macro, la formule en VBA s'affiche dans les cellules de la colonne C, mais pas le résultatOr je souhaiterai que ce soit l'inverse, bien entendu ...
A noter que je rencontre le même problème pour une formule toute simple ( ActiveCell.FormulaR1C1 = "=RC[-1]" ) que j'ai testée pour essayer de résoudre ce problème.
Est-ce que l'un d'entre vous pourrais m'en donner la raison, et surtout le remède ?
A toutes fins utiles, voici la partie du code concerné :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Dim i As Integer i = 2 ' Début de la boucle qui va copier la formule de mise en forme ' tant qu'il y a une valeur dans la colonne B ' Mise en forme (NOM,PRENOM) des noms de la colonne B en colonne C avec : ' - copie des noms dont le format est correct ' - mise en forme des noms dont le format est incorrect Do ' Si la cellule Bi ("i" = variable) n'est pas vide, ' alors la formule est copiée dans la cellule Ci If Rows(i).Hidden = False And Range("B" & i).Value <> "" Then Range("C" & i).Select ActiveCell.FormulaR1C1 = _ "=UPPER(IF(ISERROR(CONCATENATE(RIGHT(RC[-1],LEN(RC[-1])-SEARCH("" "",RC[-1])),"",""," _ & "(LEFT(RC[-1],SEARCH("" "",RC[-1]))))),RC[-1],CONCATENATE(RIGHT(RC[-1],LEN(RC[-1])" _ & "-SEARCH("" "",RC[-1])),"","",(LEFT(RC[-1],SEARCH("" "",RC[-1]))))))" ' Modification de la valeur de i pour passer à la ligne suivante i = i + 1 End If ' Boucle tant que la cellule Bi n'est pas vide Loop Until Range("B" & i).Value = "" ' FIN DE LA BOUCLE
Bruno Pérès
Windows XP pro Version 5.1.2600 Service Pack 2
Excel 2003 Version 11.8307.8202 SP3
Partager