Macro - Remplacement incrémental des lettres

  • Initiateur de la discussion Initiateur de la discussion Sandy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Sandy

Guest
Bonjour,

J'aimerais créer une macro qui selection des colonnes spécifiques de mon fichier excel et remplace une lettre par la lettre suivante de l'alphabet.

Exemple:
dans ma formule, j'ai actuallement : somme(C1:C10)
j'aimerais que ca remplace par: somme (D1: D10)
ensuite, de D1: D10 par E1:E10
et ainsi de suite à chaque fois que je fais fonctionner la macro.

Voici ce que j'ai actuellement:
Range("C:G,I:M,O:S").Select
Range("O3").Activate
Selection.Replace What:="C", Replacement:="D", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 3

Mais, j'aimerais que la portion en rouge soit automatisé pour changer de lettre à chaque fois que j'active la macro...
Est-ce possible?

Merci d'avance
Sandy
 
Re : Macro - Remplacement incrémental des lettres

Bonjour sandy et bienvenue

Voici une fonction personalisée :

Code:
Function rempl(a As String) As String
    b = Mid(a, InStr(a, "(") + 1, InStr(a, ")") - InStr(a, "(") - 1)
    c = Split(b, ":")(0)
    d = Split(b, ":")(1)
    c = Range(c).Offset(0, 1).Address
    d = Range(d).Offset(0, 1).Address
    rempl = Left(a, InStr(a, "(")) & c & ":" & d & ")"
End Function
à la place de :
Code:
Range("O3").Activate
Selection.Replace What:="C", Replacement:="D", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Tu mets
Code:
Range("O3").formulalocal = rempl(Range("O3").formulalocal)
Si ce n'est pas complet, il me faudrait la formule de base qu'il y a dans O3, ou celle que tu desires modifier
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
22
Affichages
3 K
B
Réponses
2
Affichages
1 K
H
Réponses
3
Affichages
1 K
hacka77
H
B
Réponses
24
Affichages
8 K
benzeboss
B
L
Réponses
2
Affichages
1 K
lepigoennier
L
M
Réponses
4
Affichages
1 K
mathilde88
M
B
Réponses
6
Affichages
901
D
Réponses
6
Affichages
2 K
Daroumx
D
A
Réponses
7
Affichages
1 K
Asteromoon
A
P
Réponses
0
Affichages
3 K
pablopipo
P
J
Réponses
8
Affichages
2 K
Retour