Utilisation de la fonction .replace

Bonjour tout le monde, bonne Saint-Valentin à vous (si vous êtes seul, on est ensemble )

Je viens vers vous car je rencontre un problème d'utilisation de .replace et étant débutant en vba. Je ne vois pas comment résoudre le soucis. J'ai malheureusement pas trouver de sujet parlant de mon soucis enfin si mais je ne comprenais pas le fonctionnement et je n'arrivais pas à l'utiliser pour mes fins.

Etant donner que c'est un fichier pro avec des confidentiels, je ne peux pas fournir le fichier donc je vais être le plus précis possible.

Le soucis rencontré est le suivant:

Je veux remplacer dans la colonne "A" avec .replace, pour cela je recherche une chaine de caractère précise "Valeur_Cherchee" ensuite dès que je l'ai trouvé. Je veux remplacer dans la cellule où j'ai trouver "Valeur_Cherchee" par "Rempacement". C'est là, ou je bute j'ai essayez plusieurs manières sans le "if" mais rien de concret.

Je pense que mon soucis vient de la compréhension du replace.

Voir le code ci-dessous :

 If stockerrole = Me.ComboBox2 Then
        Valeur_Cherchee = stockernom & " " & stockerprenom
        Remplacement = Me.TextBox1 & " " & Me.TextBox2

        PlageRemplacement = Sheets("2022").Colums("A")
' Le soucis est ici:
        If Valeur_Cherchee <> Remplacement Then
            PlageRemplacement.Cells.Replace what:=Valeur_Cherchee, Replacement:=Remplacement, LookAt:=xlPart, _
                                    SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
        End If
'Je visualise si j'ai bien les bonnes valeurs à la modif
        Call MsgBox(Valeur_Cherchee, vbOKOnly)
        Call MsgBox(Remplacement, vbOKOnly)
    End If

Bonjour ZodiiaK, le forum,

Problème de définition de la plage ?

Dim PlageRemplacement As Range
  Set PlageRemplacement = Sheets("2022").Columns(1)

Cordialement,

Bonjour xorsankukai,
Je viens de tester mais rien ne change.

J'ai aussi essayer de mettre range("A") mais rien de concluant.
De plus, dans mes msgbox je retrouve bien la valeur à modifier et celle qui doit remplacer

Re,

Difficile de t'aider sans fichier, vois si ceci peut t'aider...

5classeur1.xlsm (40.58 Ko)

Cordialement,

En effet en testant sur votre fichier et votre méthode cela fonctionne bien.
J'ai fait pareil sur le mien directement sur la feuille et cela fonctionne niquel aussi.

Sauf que lorsque je veux adapter ça, directement en vba sur un "formulaire". J'ai l'impression que le .replace n'est pas fonctionnel dessus, est-ce une caractéristique de la fonction? Y'a t'il d'autre alternative ? Je vais essayez, de retirer les choses perso sur mon fichier pour vous le transmettre en début d'après midi !

4version-test.xlsx (42.90 Ko)

Voici le bon fichier, désolé. Petite erreur de ma part avant :

5test.xlsm (97.96 Ko)

Bonjour,

Ton affaire me semble bien compliquée, du moins pour moi....

  • Pourquoi 3 tableaux sur la feuille 2022 ?
  • A quoi sert la colonne LIGNE ?

Un seul tableau suffit avec une colonne NOM/Prénom et une colonne STATUT (salarié, apprenti, intérimaire).

Un essai......

Cordialement,

Boniour,

Car derrière tout ça, il manque pas mal de fonctionnalité que j'ai retirer pour des questions de confidentialité.
La colonne ligne sert de point de repère pour faire mon tri de façon simple et permet de recup un indice lors de facturation.
( J'ai un cahier des charges avec fonctionnalité à respecter derrière, qui est assez pénible mais bon.)
Et oui en effet, c'est assez complexe...

En tout cas, merci pour toi aide !
Cordialement.

Par contre, vous pouvez sans m'aider, sur le même sujet. Est-ce que vous savez si c'est possible que dès lorsque, par exemple on monte ou descend une barre de défilement ça nous change le tableau qui apparait sur la feuille. Ce qui m'aiderait à changer entre 2022,2023,2024 pour pouvoir garder des traces de toute les années.

Rechercher des sujets similaires à "utilisation fonction replace"