Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Série dans une chaine de caractères

6 réponses
Avatar
Grandola
Bonjour à tous,

Je fais (de nouveau) appel à vous concernant le problème suivant : je
cherche à écrire une macro qui compte la répétition maximum et suivie
d'une lettre dans une chaine de caractères.

MACRO ( chaine ; lettre )

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "B" ) = 3 parce que la plus longue
suite de "B" que l'on trouve dans la chaine est de 3 "B".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "P" ) = 5 parce que la plus longue
suite de "P" que l'on trouve dans la chaine est de 5 "P".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "L" ) = 1 parce que la plus longue
suite de "L" que l'on trouve dans la chaine est de 1 "L".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "H" ) = 0 parce que la plus longue
suite de "H" que l'on trouve dans la chaine est de 0 "H".


Voila, si vous avez une piste... En vous remerciant par avance.

6 réponses

Avatar
Daniel.C
Bonjour.
Par exemple :

Sub test()
txt = "LNJLSBBBABOPPPPPVMPPBBG"
lettre = "P"
test1 txt, lettre
End Sub

Sub test1(txt, lettre)
For i = 1 To Len(txt)
Var = InStr(1, txt, Application.Rept(lettre, i))
If Var = 0 Then
MsgBox i - 1
Exit For
End If
Next
End Sub

Cordialement.
Daniel

Bonjour à tous,

Je fais (de nouveau) appel à vous concernant le problème suivant : je cherche
à écrire une macro qui compte la répétition maximum et suivie d'une lettre
dans une chaine de caractères.

MACRO ( chaine ; lettre )

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "B" ) = 3 parce que la plus longue
suite de "B" que l'on trouve dans la chaine est de 3 "B".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "P" ) = 5 parce que la plus longue
suite de "P" que l'on trouve dans la chaine est de 5 "P".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "L" ) = 1 parce que la plus longue
suite de "L" que l'on trouve dans la chaine est de 1 "L".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "H" ) = 0 parce que la plus longue
suite de "H" que l'on trouve dans la chaine est de 0 "H".


Voila, si vous avez une piste... En vous remerciant par avance.


Avatar
PolareBear
Bonjour Daniel,

Je ne connais pas : Application.REpt

Pourrais-tu m'expliquer son fonctionnement stp ?
ou
M'indiquer un lien vers un site qui documente cela ?

Merci d'avance

Raimond

Daniel.C a écrit :
Bonjour.
Par exemple :

Sub test()
txt = "LNJLSBBBABOPPPPPVMPPBBG"
lettre = "P"
test1 txt, lettre
End Sub

Sub test1(txt, lettre)
For i = 1 To Len(txt)
Var = InStr(1, txt, Application.Rept(lettre, i))
If Var = 0 Then
MsgBox i - 1
Exit For
End If
Next
End Sub

Cordialement.
Daniel

Bonjour à tous,

Je fais (de nouveau) appel à vous concernant le problème suivant : je
cherche à écrire une macro qui compte la répétition maximum et suivie
d'une lettre dans une chaine de caractères.

MACRO ( chaine ; lettre )

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "B" ) = 3 parce que la plus
longue suite de "B" que l'on trouve dans la chaine est de 3 "B".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "P" ) = 5 parce que la plus
longue suite de "P" que l'on trouve dans la chaine est de 5 "P".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "L" ) = 1 parce que la plus
longue suite de "L" que l'on trouve dans la chaine est de 1 "L".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "H" ) = 0 parce que la plus
longue suite de "H" que l'on trouve dans la chaine est de 0 "H".


Voila, si vous avez une piste... En vous remerciant par avance.






Avatar
isabelle
bonjour Raimond,

REPT est une fonction de la catégorie "Texte"

Répète un texte un certain nombre de fois.

Syntaxe

REPT(texte;no_fois)

Le résultat de la fonction REPT ne peut pas dépasser 32 767 caractères,
sinon la fonction REPT renvoie #VALEUR!.

=REPT("-";10) Affiche un tiret 10 fois (----------)

isabelle



PolareBear a écrit :
Bonjour Daniel,

Je ne connais pas : Application.REpt

Pourrais-tu m'expliquer son fonctionnement stp ?
ou
M'indiquer un lien vers un site qui documente cela ?

Merci d'avance

Raimond

Daniel.C a écrit :
Bonjour.
Par exemple :

Sub test()
txt = "LNJLSBBBABOPPPPPVMPPBBG"
lettre = "P"
test1 txt, lettre
End Sub

Sub test1(txt, lettre)
For i = 1 To Len(txt)
Var = InStr(1, txt, Application.Rept(lettre, i))
If Var = 0 Then
MsgBox i - 1
Exit For
End If
Next
End Sub

Cordialement.
Daniel

Bonjour à tous,

Je fais (de nouveau) appel à vous concernant le problème suivant :
je cherche à écrire une macro qui compte la répétition maximum et
suivie d'une lettre dans une chaine de caractères.

MACRO ( chaine ; lettre )

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "B" ) = 3 parce que la plus
longue suite de "B" que l'on trouve dans la chaine est de 3 "B".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "P" ) = 5 parce que la plus
longue suite de "P" que l'on trouve dans la chaine est de 5 "P".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "L" ) = 1 parce que la plus
longue suite de "L" que l'on trouve dans la chaine est de 1 "L".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "H" ) = 0 parce que la plus
longue suite de "H" que l'on trouve dans la chaine est de 0 "H".


Voila, si vous avez une piste... En vous remerciant par avance.








Avatar
Grandola
Merci beaucoup Daniel, ca marche super bien ! ;-)


Daniel.C a écrit :
Sub test1(txt, lettre)
For i = 1 To Len(txt)
Var = InStr(1, txt, Application.Rept(lettre, i))
If Var = 0 Then
MsgBox i - 1
Exit For
End If
Next
End Sub


Avatar
bcar
En 3 lignes...

Public Sub toto(ByVal chaine As String, ByVal lettre As String)
Dim x As Integer, y As Integer
Dim str As String

x = 1
str = ""
Do
y = InStr(x, chaine, str + lettre)
If y = 0 Then Exit Do Else x = y: str = str + lettre
Loop While True

Call MsgBox(str)
End Sub


Grandola a écrit :
Bonjour à tous,

Je fais (de nouveau) appel à vous concernant le problème suivant : je
cherche à écrire une macro qui compte la répétition maximum et suivie
d'une lettre dans une chaine de caractères.

MACRO ( chaine ; lettre )

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "B" ) = 3 parce que la plus longue
suite de "B" que l'on trouve dans la chaine est de 3 "B".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "P" ) = 5 parce que la plus longue
suite de "P" que l'on trouve dans la chaine est de 5 "P".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "L" ) = 1 parce que la plus longue
suite de "L" que l'on trouve dans la chaine est de 1 "L".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "H" ) = 0 parce que la plus longue
suite de "H" que l'on trouve dans la chaine est de 0 "H".


Voila, si vous avez une piste... En vous remerciant par avance.





Avatar
PolareBear
Merci Isabelle.

isabelle a écrit :
bonjour Raimond,

REPT est une fonction de la catégorie "Texte"

Répète un texte un certain nombre de fois.

Syntaxe

REPT(texte;no_fois)

Le résultat de la fonction REPT ne peut pas dépasser 32 767 caractères,
sinon la fonction REPT renvoie #VALEUR!.

=REPT("-";10) Affiche un tiret 10 fois (----------)

isabelle



PolareBear a écrit :
Bonjour Daniel,

Je ne connais pas : Application.REpt

Pourrais-tu m'expliquer son fonctionnement stp ?
ou
M'indiquer un lien vers un site qui documente cela ?

Merci d'avance

Raimond

Daniel.C a écrit :
Bonjour.
Par exemple :

Sub test()
txt = "LNJLSBBBABOPPPPPVMPPBBG"
lettre = "P"
test1 txt, lettre
End Sub

Sub test1(txt, lettre)
For i = 1 To Len(txt)
Var = InStr(1, txt, Application.Rept(lettre, i))
If Var = 0 Then
MsgBox i - 1
Exit For
End If
Next
End Sub

Cordialement.
Daniel

Bonjour à tous,

Je fais (de nouveau) appel à vous concernant le problème suivant :
je cherche à écrire une macro qui compte la répétition maximum et
suivie d'une lettre dans une chaine de caractères.

MACRO ( chaine ; lettre )

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "B" ) = 3 parce que la plus
longue suite de "B" que l'on trouve dans la chaine est de 3 "B".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "P" ) = 5 parce que la plus
longue suite de "P" que l'on trouve dans la chaine est de 5 "P".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "L" ) = 1 parce que la plus
longue suite de "L" que l'on trouve dans la chaine est de 1 "L".

MACRO ( " LNJLSBBBABOPPPPPVMPPBBG " ; "H" ) = 0 parce que la plus
longue suite de "H" que l'on trouve dans la chaine est de 0 "H".


Voila, si vous avez une piste... En vous remerciant par avance.