comptage

Le
yan
bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4.xor m7=m8 then
mais cela ne marche pas mon car instruction ne fait pas un "xor global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition m1=m2,
m2=m3.seront vrai ,si il y a un xor c'est faux (normal vrai xor vrai =
faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce problème
autre question comment utiliser "count" ou autre pour connaitre le nombre de
A dans la chaine , le nombre de B
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C.
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacquouille
Le #25000502
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule --> =nbcar
(a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A" qui
étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor vrai faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce problème
autre question comment utiliser "count" ou autre pour connaitre le nombre de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci
yan
Le #25001072
Merci de m'avoir répondu
c'est pas du tout ça que je cherche
j'ai omis de préciser que ceci est dans une procedure vba
je vais generer une chaine qui debute a AAAAAAAA jusque FFFFFFFF
et cette chaine doit repondre a certain criteres dont celui qui me préocupe
Merci a toi

"Jacquouille" news:50b63ee7$0$3109$
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule --> =nbcar
(a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A" qui
étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu
utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor global"
mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor vrai > faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce problème
autre question comment utiliser "count" ou autre pour connaitre le nombre
de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci
isabelle
Le #25001152
bonjour yan,

Sub Macro1()
Dim m As String, x As Integer
m = "AADEBCEE"
For x = 2 To Len(m) - 1
If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1
Next
MsgBox a
End Sub

--
isabelle



Le 2012-11-28 14:38, yan a écrit :
Merci de m'avoir répondu
c'est pas du tout ça que je cherche
j'ai omis de préciser que ceci est dans une procedure vba
je vais generer une chaine qui debute a AAAAAAAA jusque FFFFFFFF
et cette chaine doit repondre a certain criteres dont celui qui me préocupe
Merci a toi

"Jacquouille" news:50b63ee7$0$3109$
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule -->
=nbcar (a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A"
qui étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est
seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu
utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor
global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition
m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor
vrai >> faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce
problème
autre question comment utiliser "count" ou autre pour connaitre le
nombre de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci



Jacquouille
Le #25001792
Bonjour Isabelle

pour m = "AAEEBCEE" ,il me donne 4 ??
pour m = "AADEBCEE" , il donne 2 ....

PS :manquerait pas un petit _ ou un end if ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"isabelle" a écrit dans le message de groupe de discussion :
k95ree$3g7$

bonjour yan,

Sub Macro1()
Dim m As String, x As Integer
m = "AADEBCEE"
For x = 2 To Len(m) - 1
If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1
Next
MsgBox a
End Sub

--
isabelle



Le 2012-11-28 14:38, yan a écrit :
Merci de m'avoir répondu
c'est pas du tout ça que je cherche
j'ai omis de préciser que ceci est dans une procedure vba
je vais generer une chaine qui debute a AAAAAAAA jusque FFFFFFFF
et cette chaine doit repondre a certain criteres dont celui qui me
préocupe
Merci a toi

"Jacquouille" news:50b63ee7$0$3109$
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule -->
=nbcar (a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A"
qui étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est
seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu
utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor
global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition
m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor
vrai >> faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce
problème
autre question comment utiliser "count" ou autre pour connaitre le
nombre de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci



h2so4
Le #25001992
isabelle has brought this to us :
bonjour yan,

Sub Macro1()
Dim m As String, x As Integer
m = "AADEBCEE"
For x = 2 To Len(m) - 1
If Mid(m, x, 1) = Mid(m, x - 1, 1) Then a = a + 1:x=x-1
Next
MsgBox a
End Sub

--
isabelle



--
h2so4
ca PAN
pique DORA
.
isabelle
Le #25002102
%-(
il manquait un x=x+1

If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1: x = x + 1

t'as encore les yeux clair à cette heure-ci ;-)

--
isabelle



Le 2012-11-28 17:21, Jacquouille a écrit :
Bonjour Isabelle

pour m = "AAEEBCEE" ,il me donne 4 ??
pour m = "AADEBCEE" , il donne 2 ....

PS :manquerait pas un petit _ ou un end if ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"isabelle" a écrit dans le message de groupe de discussion :
k95ree$3g7$

bonjour yan,

Sub Macro1()
Dim m As String, x As Integer
m = "AADEBCEE"
For x = 2 To Len(m) - 1
If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1
Next
MsgBox a
End Sub

--
isabelle



Le 2012-11-28 14:38, yan a écrit :
Merci de m'avoir répondu
c'est pas du tout ça que je cherche
j'ai omis de préciser que ceci est dans une procedure vba
je vais generer une chaine qui debute a AAAAAAAA jusque FFFFFFFF
et cette chaine doit repondre a certain criteres dont celui qui me
préocupe
Merci a toi

"Jacquouille" news:50b63ee7$0$3109$
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule -->
=nbcar (a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A"
qui étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est
seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple
identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu
utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor
global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition
m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor
vrai >>> faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce
problème
autre question comment utiliser "count" ou autre pour connaitre le
nombre de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci






yan
Le #25003872
bonjour a tous
merci a tous et a isabelle pour cette solution simple a laquelle je n'avait
pas pensé
et fait exactement le travail que j'attendais
Merci
A+
Yan
"isabelle" news:k967v3$2kb$
%-(
il manquait un x=x+1

If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1) Then
a = a + 1: x = x + 1

t'as encore les yeux clair à cette heure-ci ;-)

--
isabelle



Le 2012-11-28 17:21, Jacquouille a écrit :
Bonjour Isabelle

pour m = "AAEEBCEE" ,il me donne 4 ??
pour m = "AADEBCEE" , il donne 2 ....

PS :manquerait pas un petit _ ou un end if ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"isabelle" a écrit dans le message de groupe de discussion :
k95ree$3g7$

bonjour yan,

Sub Macro1()
Dim m As String, x As Integer
m = "AADEBCEE"
For x = 2 To Len(m) - 1
If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1
Next
MsgBox a
End Sub

--
isabelle



Le 2012-11-28 14:38, yan a écrit :
Merci de m'avoir répondu
c'est pas du tout ça que je cherche
j'ai omis de préciser que ceci est dans une procedure vba
je vais generer une chaine qui debute a AAAAAAAA jusque FFFFFFFF
et cette chaine doit repondre a certain criteres dont celui qui me
préocupe
Merci a toi

"Jacquouille" news:50b63ee7$0$3109$
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule -->
=nbcar (a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A"
qui étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est
seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple
identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu
utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor
global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition
m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor
vrai >>>> faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce
problème
autre question comment utiliser "count" ou autre pour connaitre le
nombre de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci






Jacquouille
Le #25004192
Re
J'étais occupé à la transaction pour les bouquins...
Encore merci



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"isabelle" a écrit dans le message de groupe de discussion :
k967v3$2kb$

%-(
il manquait un x=x+1

If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1: x = x + 1

t'as encore les yeux clair à cette heure-ci ;-)

--
isabelle



Le 2012-11-28 17:21, Jacquouille a écrit :
Bonjour Isabelle

pour m = "AAEEBCEE" ,il me donne 4 ??
pour m = "AADEBCEE" , il donne 2 ....

PS :manquerait pas un petit _ ou un end if ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"isabelle" a écrit dans le message de groupe de discussion :
k95ree$3g7$

bonjour yan,

Sub Macro1()
Dim m As String, x As Integer
m = "AADEBCEE"
For x = 2 To Len(m) - 1
If Mid(m, x, 1) = Mid(m, x - 1, 1) Or Mid(m, x, 1) = Mid(m, x + 1, 1)
Then a = a + 1
Next
MsgBox a
End Sub

--
isabelle



Le 2012-11-28 14:38, yan a écrit :
Merci de m'avoir répondu
c'est pas du tout ça que je cherche
j'ai omis de préciser que ceci est dans une procedure vba
je vais generer une chaine qui debute a AAAAAAAA jusque FFFFFFFF
et cette chaine doit repondre a certain criteres dont celui qui me
préocupe
Merci a toi

"Jacquouille" news:50b63ee7$0$3109$
Bonsoir
Pas certain d'avoir compris, mais:
à effectuer sur une copie du dossier:
1-tu comptes ne nombre de caractères contenus dans la cellule -->
=nbcar (a1)
2- Via le menu "chercher-remplacer", tu remplaces A par rien (laisser
fenêtre vide) puis tu valides.
3- tu recomptes le nb de caractères. Tu auras forcément le nb de "A"
qui étaient présents.
A bientôt


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"yan" a écrit dans le message de groupe de discussion :
50b63d03$0$1403$

bonjour a tous
Dans une chaine alphabétique aléatoire du type par exemple"AADEBCEE"je
doit tester si un couple de lettres consécutives existe et si il est
seul
dans la chaine. La chaine ne contient que des A,B,C,D,E
Dans mon exemple la réponse est fausse car 1-2 a bien un couple
identique
(AA) mais 7-8 en à un aussi
Elle aurait était vrai si la chaine était "AADEBCEB"
j'ai mis dans des variables de m1 à m8 chaque lettres et j'ai voulu
utiliser
un "XOR" en faisant
if m1=m2 xor m2=m3 xor m3=m4..........xor m7=m8 then ......
mais cela ne marche pas mon car instruction ne fait pas un "xor
global" mais
traite les xor un par un tout du moins c'est ce qu'il me semble car si
j'affecte la même lettre a toute mes variables, toute mes condition
m1=m2,
m2=m3....seront vrai ,si il y a un xor c'est faux (normal vrai xor
vrai >>> faux) et si j'en mets 3 cela devient vrai.
Apres avoir été un peu long et je m'en excuse comment résoudre ce
problème
autre question comment utiliser "count" ou autre pour connaitre le
nombre de
A dans la chaine , le nombre de B.........
j'ai résolu cela en faisant des boucles et un test sur chaque type de
lettres
chaque lettre étant déjà dans une variable j'ai fait
for x=1 to 8
if m(x)="A" then a=a+1
next
Et la même chose pour B,C..........
Ca marche mais peut être pas très "orthodoxe"
votre avis
Merci






Publicité
Poster une réponse
Anonyme