[Excel] transformer une fonction en sa valeur
Résolu/Fermé
kbastien
Messages postés
64
Date d'inscription
dimanche 26 décembre 2010
Statut
Membre
Dernière intervention
1 avril 2020
-
Modifié par kbastien le 29/06/2012 à 07:47
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 30 juin 2012 à 00:59
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 30 juin 2012 à 00:59
A voir également:
- [Excel] transformer une fonction en sa valeur
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Mise en forme conditionnelle excel - Guide
- Fonction moyenne excel - Guide
3 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié par eriiic le 29/06/2012 à 21:45
Modifié par eriiic le 29/06/2012 à 21:45
Bonjour,
Autre proposition avec une fonction personnalisée.
Tu lui passes en paramètre l'identification de l'appareil.
Un ident retournera toujours le même n° de transpondeur.
Ex :
ACA234 -> 7620
COO994 -> 630
Syntaxe :
=transpondeur(B3)
https://www.cjoint.com/?BFDuTvkC8fk
eric
Autre proposition avec une fonction personnalisée.
Tu lui passes en paramètre l'identification de l'appareil.
Un ident retournera toujours le même n° de transpondeur.
Ex :
ACA234 -> 7620
COO994 -> 630
Function transpondeur(ch As String) As Long Dim i As Long, graine For i = 1 To Len(ch) graine = graine * 10 + CLng(Asc(Mid(ch, i, 1)) - 47) Next i Rnd (-graine) For i = 1 To 4 transpondeur = transpondeur * 10 + Int(Rnd() * 8) Next i End Function
Syntaxe :
=transpondeur(B3)
https://www.cjoint.com/?BFDuTvkC8fk
eric
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
29 juin 2012 à 07:45
29 juin 2012 à 07:45
Bonjour,
exemple:
Bonne suite
exemple:
Sub test() 'Bornes 0-7 'si 1-7: CStr(Int(7 * Rnd)+1) y = CStr(Int(7 * Rnd)) & CStr(Int(7 * Rnd)) & CStr(Int(7 * Rnd)) & CStr(Int(7 * Rnd)) 'Mettre format cellule en texte si bornes 0-7 Worksheets("feuil1").Range("A1") = Format(y, "0000") End Sub
Bonne suite
ccm81
Messages postés
10906
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2025
2 429
29 juin 2012 à 08:20
29 juin 2012 à 08:20
bonjour
RQ1. le code de f894009 (cordiales salutations à toi) produit une chaine
RQ2. une petite erreur (je crois), int(7*rnd) produit un entier de 0 à 6
donc pour un entier de 0 à 7 c'est int(8*rnd)
RQ3. si tu veux produire un entier
y = 1000*int(8*rnd)+100*int(8*rnd)+10*int(8*rnd)+int(8*rnd)
mettre la cellule recevant l'entier au format personnalisé 0000
bonne journée
RQ1. le code de f894009 (cordiales salutations à toi) produit une chaine
RQ2. une petite erreur (je crois), int(7*rnd) produit un entier de 0 à 6
donc pour un entier de 0 à 7 c'est int(8*rnd)
RQ3. si tu veux produire un entier
y = 1000*int(8*rnd)+100*int(8*rnd)+10*int(8*rnd)+int(8*rnd)
mettre la cellule recevant l'entier au format personnalisé 0000
bonne journée
f894009
Messages postés
17229
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2025
1 712
29 juin 2012 à 09:21
29 juin 2012 à 09:21
Bonjour ccm81,
En effet, int(7*rnd) produit un entier de 0 à 6, je me fais avoir presque a chaque fois.
Pour le format, la personne adapte en principe en fonction de ce qu'elle fait.
Bonne journee
En effet, int(7*rnd) produit un entier de 0 à 6, je me fais avoir presque a chaque fois.
Pour le format, la personne adapte en principe en fonction de ce qu'elle fait.
Bonne journee
kbastien
Messages postés
64
Date d'inscription
dimanche 26 décembre 2010
Statut
Membre
Dernière intervention
1 avril 2020
4
Modifié par kbastien le 29/06/2012 à 18:50
Modifié par kbastien le 29/06/2012 à 18:50
sa fonctionne, presque.
Je m'explique la macro fonctionne parfaitement excepter que je veux pouvoir faire en sorte que ce soit la cellule qui est sélectionner qui affiche le code, car en ce moment ce n'est que la cellule A1 dans ma feuille 1 qui affiche même en sélectionnant d'autre case ou d'autre feuille ça ne change que la valeur en A1
exemple :
A_________B________C_____D___ E_____F_____G______H____________I
DEP_____ACID_____TYPE___FR __ALT__DEST__RWR___CODE _______Callsing
CYYZ___ACA680____B747____I___FL310 CYUL____27___0577______AIR CANADA
CYXU___AFR228____A380____I___FL320 CYUL____27___4531______AIR FRANCE
....
il faut que la macro puisse donner des codes pour chacuns et dans la cellule que je sélectionne en l'occurrence les cellule de la ligne «H»
Je m'explique la macro fonctionne parfaitement excepter que je veux pouvoir faire en sorte que ce soit la cellule qui est sélectionner qui affiche le code, car en ce moment ce n'est que la cellule A1 dans ma feuille 1 qui affiche même en sélectionnant d'autre case ou d'autre feuille ça ne change que la valeur en A1
exemple :
A_________B________C_____D___ E_____F_____G______H____________I
DEP_____ACID_____TYPE___FR __ALT__DEST__RWR___CODE _______Callsing
CYYZ___ACA680____B747____I___FL310 CYUL____27___0577______AIR CANADA
CYXU___AFR228____A380____I___FL320 CYUL____27___4531______AIR FRANCE
....
il faut que la macro puisse donner des codes pour chacuns et dans la cellule que je sélectionne en l'occurrence les cellule de la ligne «H»
29 juin 2012 à 22:00
Modifié par eriiic le 30/06/2012 à 00:59
eric