OVH Cloud OVH Cloud

VBA et fonction

1 réponse
Avatar
Quaisako
Bonsoir le Forum,

Dans une cellule, j'ai cette formule.
=SI(ESTVIDE(Detail!Q8);"";RECHERCHEV(Detail!Q8;Liste_Tresorerie;2))
mais à la place de "Q8", il peut y avoir "Q9" ou "Q10" ou "Q11............."
etc ........................

Comment dire en VBA qu'il faut remplacer le 8 ou le 9 ou le 10 ou un autre
chiffre ou nombre par 6.

J'ai essayé avec l'interpreteur de macro, ce qui m'a donné le code
ci-dessous, mais dans ce cas, ça ne fonctionne que s'il y a un 6.

Comment remplacer What:="6" par What:="Ici la valeur "Q8", "Q9" ou "Q10" ou
"Q11"......"

Range("C6:I6").Select
Selection.Replace What:="6", Replacement:="6", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.AutoFill Destination:=Range("C6:I200"), Type:=xlFillDefault
Range("C6:I200").Select
ActiveWindow.SmallScroll Down:=-210
ActiveWindow.SmallScroll ToRight:=-2
Range("A5").Select

Merci pour votre aide.

Jipé

1 réponse

Avatar
MichDenis
Bonsoir Qaaisako,

Voici le principe de base :

'---------------------------------
Dim Formule as String
With Worksheets("Feuil1") 'à déterminer
'Récupération de la formule de la cellule dans
'une variable de type String
formule = .Range("A1").Formula
'Remplacement de tous les chiffres 8 dans la
'chaîne de caractère Formule par le chiffre 6
formule = Replace(formule, 8, 6)
'Retour dans la cellule initiale de la formule transformée.
.Range("A1").Formula = formule
End With
'---------------------------------


Salutations!



"Quaisako" a écrit dans le message de news:
Bonsoir le Forum,

Dans une cellule, j'ai cette formule.
=SI(ESTVIDE(Detail!Q8);"";RECHERCHEV(Detail!Q8;Liste_Tresorerie;2))
mais à la place de "Q8", il peut y avoir "Q9" ou "Q10" ou "Q11............."
etc ........................

Comment dire en VBA qu'il faut remplacer le 8 ou le 9 ou le 10 ou un autre
chiffre ou nombre par 6.

J'ai essayé avec l'interpreteur de macro, ce qui m'a donné le code
ci-dessous, mais dans ce cas, ça ne fonctionne que s'il y a un 6.

Comment remplacer What:="6" par What:="Ici la valeur "Q8", "Q9" ou "Q10" ou
"Q11"......"

Range("C6:I6").Select
Selection.Replace What:="6", Replacement:="6", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.AutoFill Destination:=Range("C6:I200"), Type:=xlFillDefault
Range("C6:I200").Select
ActiveWindow.SmallScroll Down:=-210
ActiveWindow.SmallScroll ToRight:=-2
Range("A5").Select

Merci pour votre aide.

Jipé