Macro excel : variable inclue dans une autre
Fermé
mimi
-
27 juil. 2006 à 20:33
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 31 juil. 2006 à 13:00
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 31 juil. 2006 à 13:00
A voir également:
- Macro excel : variable inclue dans une autre
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
3 réponses
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
28 juil. 2006 à 01:04
28 juil. 2006 à 01:04
Bonsoir,
C'est plus facile à faire en feuille de calcul qu'en VBA !
Avec une formule matricielle :
si ça peut te donner des idées pour l'adapter en VBA ....
cordialement
C'est plus facile à faire en feuille de calcul qu'en VBA !
Avec une formule matricielle :
=SOMME(SI(NBCAR(SUBSTITUE(mavariable;LIGNE(INDIRECT("1:"&NBCAR(mavariable)));""))<>NBCAR(mavariable);1;0))cette formule te donne le nombre de chiffres différents composant ta variable, ce que, si j'ai bien compris, ton code faisait.
si ça peut te donner des idées pour l'adapter en VBA ....
cordialement
moustikou
Messages postés
1
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
28 juillet 2006
28 juil. 2006 à 18:07
28 juil. 2006 à 18:07
Merci JvDo pour ta réponse mais je suis un peu perdu dans la formule.
J'ai fais des macros pour résoudre les grilles de sudoku.
recherche en colonne, ligne et région : mes macros marchent
recherche du seul chiffre possible dans une case : ça marche
maintenant pour une ligne par exemple, je cherche à indentifier pour chaque case vide, les chiffres possibles pour isoler ensuite (s'il y a lieu) le chiffre unique.
Lorsque je trouve une case vide, je concatène dans une variable tous les chiffres figurant dans la ligne, la région de cette case et la colonne de cette case.
Je cherche donc à stocker dans une autre variable l'inverse du contenu de ma 1ère variable
exemple Variable1 me donne "15241345629"
je voudrait dans Variable 2 les chiffres "79" qui peuvent compléter la case.
Puis je balaie toutes les variables contenant les possibilités (autant que de cases vides dans la ligne) pour isoler le chiffre unique s'il existe.
Dans mon raisonnement, je fais varier un compteur de 1 à 9 et si ce compteur est absent de Variable 1, je le stock dans Variable 2.
Mais je ne sais pas écrire le test en VBA
Si tu as un truc, merci d'avance pour ton aide
Mimi
J'ai fais des macros pour résoudre les grilles de sudoku.
recherche en colonne, ligne et région : mes macros marchent
recherche du seul chiffre possible dans une case : ça marche
maintenant pour une ligne par exemple, je cherche à indentifier pour chaque case vide, les chiffres possibles pour isoler ensuite (s'il y a lieu) le chiffre unique.
Lorsque je trouve une case vide, je concatène dans une variable tous les chiffres figurant dans la ligne, la région de cette case et la colonne de cette case.
Je cherche donc à stocker dans une autre variable l'inverse du contenu de ma 1ère variable
exemple Variable1 me donne "15241345629"
je voudrait dans Variable 2 les chiffres "79" qui peuvent compléter la case.
Puis je balaie toutes les variables contenant les possibilités (autant que de cases vides dans la ligne) pour isoler le chiffre unique s'il existe.
Dans mon raisonnement, je fais varier un compteur de 1 à 9 et si ce compteur est absent de Variable 1, je le stock dans Variable 2.
Mais je ne sais pas écrire le test en VBA
Si tu as un truc, merci d'avance pour ton aide
Mimi
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
31 juil. 2006 à 13:00
31 juil. 2006 à 13:00
Bonjour,
un petit bout de code :
un petit bout de code :
mavar2 = 1251362822 mavar1 = "" For i = 1 To 9 If Len(mavar2) - Len(WorksheetFunction.Substitute(mavar2, i, "")) = 0 Then mavar1 = mavar1 & i NextCordialement