fonction replace en VBA

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

C

clempic

Guest
Bonjour à tous,

Je viens vous demander un petit coup de main :
J’ai un tableau de bord sur lequel j’ai fait des formules somme si à plusieurs conditions.
Les formules dans mon tableau sont du type : accolade =SUM((VolumeJuillet)*(Num_Produit=$A18)) accolade

Je voudrais créer une zone de liste modifiable, à laquelle j’associerai un code me permettant de remplacer Juillet dans la formule de matrice par un autre mois, pour changer à ma guise les chiffres, par ceux d’un autre mois.

Voici mon code, associé à la combobox, qui me renvoit une erreur (j’ai pourtant enregistré la macro en automatique et ai récupéré le code, en y insérant juste des variables) :

Private Sub cmbmois_change()


Dim mois_nouveau As String

Dim mois_ancien As String

Range("j20:j200").Select

Selection.Replace What:=mois_ancien, Replacement:=mois_nouveau, LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

ReplaceFormat:=False

End Sub



Le message d’erreur est : « expected function or variable » (le mot selection dans les code est surligné )

J'espère avoir été claire.
Merci beaucoup de votre aide,
Bien à vous
Clémence
 
Re : fonction replace en VBA

Bonjour Clempic et bienvenue 🙂,
C'est pas le tout de déclarer des variables, il faut peut-être aussi songer à les remplir 😛...
Code:
Private Sub cmbmois_change()
Dim mois_nouveau As String
Dim mois_ancien As String
mois_nouveau = cmbmois_change.Value
mois_ancien = [B][COLOR=red]???[/COLOR][/B]
Range("j20:j200").Select
Selection.Replace What:=mois_ancien, Replacement:=mois_nouveau, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
a plus de chance de marcher 😀.
Pour les 3 ???, il faudrait voir à récupérer la valeur dans une cellule.
Bon courage 😎
 
Re : fonction replace en VBA

oui pardon, j'ai copié le mauvais code :

voici le "bon", qui ne marche pas non plus..
Du coup, je me demande : est ce que c'est possible de mettre des variables dans la fonction replace en VBA?

Private Sub cmbmois_change()

Dim mois_nouveau As String
Dim mois_ancien As String

mois_nouveau = Range("c1").Value
mois_ancien = Range("c3").Value

Range("j20:j200").Select
selection.Replace What:=mois_ancien, Replacement:=mois_nouveau, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

Merci beaucoup pour cette réponse éclair!!
 
Re : fonction replace en VBA

Re 🙂,
Je viens de faire des tests, il n'y a aucun problème pour utiliser des variables. Je pensais que ça venait des formules matricielles, mais même avec un mixte matricielle/normale, ça fonctionne chez moi.
Le plus simple serait que tu postes ton fichier (sans données confidentielles) 🙄.
Bon courage 😎
 
Re : fonction replace en VBA

Re🙂
Voici le fichier
Les fonctions matrice sont dans les colonnes "estimé"
Mon but est de commander à l'aide de la combobox en haut à gauche, le mois.
Ainsi je pourrai visualiser suivant mes besoins, les chiffres du mois choisi.
Merci beaucoup de votre aide précieuse!!
Clémence
 
Re : fonction replace en VBA

Re 🙂,
Et voilà le travail 😛...
Code:
Private Sub cmbmois_change()
Dim mois_nouveau As String
Dim mois_ancien As String
mois_nouveau = Range("c1").Value
mois_ancien = Range("c3").Value
Range[B][COLOR=red]("j14[/COLOR][/B]:j79").Replace What:=mois_ancien, Replacement:=mois_nouveau, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
[COLOR=red][B]Range("c3").Value = mois_nouveau[/B][/COLOR]
End Sub
J'ai eu du mal àtrouver pourquoi j'avais une erreur avec le selection, jusqu'à ce que je trouve une Sub selection() dans le Module1 😱. Ne JAMAIS utiliser de mots réservés par la syntaxe VBA pour des Sub ou des variables 🙄... Donc pense à supprimer cette Sub.
J'ai corrigé les cellules et ajouté la modification de l'ancien mois 😉.
Bon courage 😎
 
- 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

P
Réponses
5
Affichages
1 K
Réponses
8
Affichages
8 K
D
Réponses
22
Affichages
3 K
V
Réponses
2
Affichages
2 K
vynmarius
V
O
Réponses
20
Affichages
4 K
O
T
Réponses
4
Affichages
3 K
Tooxy
T
B
  • Question Question
Réponses
5
Affichages
781
Retour