|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() Date d'inscription: juin 2008
Localisation: Pas loin de Versailles !
Âge: 24
Messages: 617
|
Bonjour à tous,
Code :
Range("A1:T1").Select Selection.Replace What:="*1.000", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Bref, c'est le cas classique du caractère * représentant une chaîne de caractères quelconque. Ma question est donc la suivante : comment écrire * pour que cela ne représente pas une chaîne de caractères quelconque mais bien le caractère * ? J'avais pensé à Code :
Chr(42) & "1.000" Terminons par un petit exemple au cas où je n'ai pas été assez clair. Pour le moment, dans une de mes cellules j'ai 71.0004 et *1000 dans un autre. Dans l'état actuel des choses, je me retrouve, après le lancement de la macro, avec 4 et une cellule vide. Je voudrais donc avoir 71.0004 (aucune modification car pas de chaîne *1.000) et une cellule vide. Merci d'avance
__________________
DeaD |
|
|
|
|
|
#2 |
![]() ![]() Date d'inscription: juin 2002
Localisation: derrière le moniteur
Messages: 3 874
|
Hello,
essaie de doubler le * exemple "**1.000"
__________________
Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème ![]() Développez une application de gestion des comptes bancaires dans Access de A à Z ![]() |
|
|
|
|
|
#3 |
|
Membre chevronné
![]() Date d'inscription: juin 2008
Localisation: Pas loin de Versailles !
Âge: 24
Messages: 617
|
Salut cafeine,
Je viens de tester à l'instant et cela ne change rien
__________________
DeaD |
|
|
|
|
|
#4 |
|
Membre Expert
![]() Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
|
Salut,
Je crois tenir une alternative...dépendra de tes données effectives... Code :
Sub testRemplace() Dim cel As Range, Plage As Range Set Plage = Sheets("sheet2").Range("A1:T1") Plage.Select For Each cel In Plage If Left(cel.Value, 1) = "*" Then cel.Replace What:="*1.000", Replacement:="" Next End Sub A+
__________________
N'oubliez pas le si votre problème est solutionné.
|
|
|
|
|
|
#5 |
|
Membre émérite
![]() |
Bonjour
J'essayerai bien un truc comme ça : Code :
Range("A1:T1").Select For Each MaCel In Selection.Cells If MaCel.Value="*1.000" then MaCel.Value="" End If Next Frédéric http://www.access-developpement.com Dernière modification par AlainTech ; 05/07/2009 à 07h08. Motif: Balises [code] |
|
|
|
|
|
#6 |
|
Membre actif
![]() Date d'inscription: octobre 2007
Localisation: 29
Messages: 176
|
Bonjour,
essaie avec cette syntaxe : Code :
Range("A1:T1").Replace What:="~*1.000", Replacement:="", LookAt:=xlPart |
|
|
|
|
|
#7 |
|
Membre chevronné
![]() Date d'inscription: juin 2008
Localisation: Pas loin de Versailles !
Âge: 24
Messages: 617
|
Merci à tous !
Les solutions de Fvandermeulen et de mapeh fonctionnent bien !
__________________
DeaD |
|
|
|
|
|
![]() |
||
Caractère * ne représentant pas une chaîne quelconque
|
||
| Outils de la discussion | |
|
|