• Initiateur de la discussion Initiateur de la discussion fileofish
  • 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 !

fileofish

XLDnaute Occasionnel
Bonjour le forum,

J'ai un petit soucis sur une macro:
Supposons qu'en A1 j'ai le chiffre : 3
En A2 : 4


Je souhaiterais que le chiffre que j'ai en A1 suivi de "mois" soit remplacé par le chiffre que j'ai en A2 suivi de "mois"


Windows("Import Final.xlsx").Activate
Columns("C:C").Select
Selection.Replace What:="3 mois", Replacement:="4 mois", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("D6").Select


Je ne sais pas comment remplacer la valeur Fixe (3 mois et 4 mois) que j'ai dans le code par une variable (A1 & A2)

Si vous avez une solution ca serait super
Merci
Philippe
 
Re : VBA Remplacer

Bonjour la solution est (je pense) assez simple. Ce qui va aller en votre faveur c'est de nous joindre un fichier modèle pour que l'on puisse anticiper certaines problématiques. Moi j'irai au plus simple et j'aurai comme raisonnement A1 = A2 & " Mois". Mais nous ne connaissons pas le contexte du fichier donc il existe plusieurs possibilités à exploiter.
 
Re : VBA Remplacer

Bonjour gosselien, c'est pertinent dans les deux cas (vba/formule) pour l'utilisation futur de la donné.
Mais en VBA, j'ai un vague souvenir d'une fonction native qui permet de sélectionner que le chiffre
 
Re : VBA Remplacer

Bonjour,

En effet avec un fichier ce sera plus facile.
Dans la colonne D (Qui fait référence à un autre classeur) il y a à l'intérieur l'onglet 3 mois qui fait référence au fichier Pays 2016
Je souhaiterais pouvoir changer le fameux 3 mois par un autre mois
J'ai donc mis 2 cellules en M2 et N3

Ex : Si je mets en N2 5 , je souhaite que la colonne D il n'y est plus ...3 mois mais 5 mois.

Si je ne suis pas clair ce que je comprendrai au vu de ma piètre explication n'hésitez pas

Merci Philippe
 

Pièces jointes

Re : VBA Remplacer

Bonjour, dans vos cellules jaunes vous mettez vos noms de feuilles comme elles sont dans les autres classeurs puis vous cliquez sur remplacer.

Je ne peux pas réellement tester mais les expressions ont l'air d'être juste.
 

Pièces jointes

Re : VBA Remplacer

Essayez celle-ci à la place

Code:
Sub remplacer()
Dim trouve As Range, dl&

With Feuil1
dl = .Cells(Rows.Count, 1).End(xlUp).Row
Set trouve = Range(.Cells(1, 4), .Cells(dl, 4)).Find(.[M2], LookIn:=xlFormulas, lookat:=xlPart)
If Not trouve Is Nothing Then
fa = trouve.Row
Do
trouve.Formula = Replace(trouve.Formula, .[M2], .[N2], , , vbTextCompare)
Set trouve = .Columns(4).FindNext(trouve)
Loop While Not trouve Is Nothing And trouve.Row <> fa
End If
End With
End Sub
 
Re : VBA Remplacer

Bonjour CPK, Le forum

Même si on supprime les formules en (D2 : D11) et que l'on met en (D2 : D11) la valeur qui est en M2. Le changement s'opère avec la valeur qui est en N2 mais à la fin de la macro, il y a ce petit message d'erreur.

Merci encore
Philippe
 
- 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

Discussions similaires

Réponses
1
Affichages
277
Réponses
5
Affichages
236
Réponses
17
Affichages
1 K
Réponses
2
Affichages
461
Réponses
3
Affichages
543
Retour