Fonction aléatoire sur excel
Résolu/Fermé
A voir également:
- Fonction aléatoire sur excel
- Liste déroulante excel - Guide
- Excel fonction si et - Guide
- Formule excel - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
67 réponses
Non, pas dur! lol
'Utilisation de Randomize pour éviter la répétition de séries identiques:
Randomize
' Remplace 4 par (le nombre de mots dans ta colonne) -1:
tirage = 1 + Round(4 * Rnd)
'tirage contiendra donc une valeur entre 1 et le nombre de mots dans ta colonne
' Ici, on remplit la cellule cible (remplace 'ligneCelluleCible' et 'colonneCelluleCible' par les valeurs numériques correspondantes):
Sheets("NomDeLaFeuille").Cells(ligneCelluleCible,colonneCelluleCible).Value=Sheets("NomDeLaFeuille").Cells(tirage+1,1).Value
'Enfin, j'ai ajouté tirage+1, car je suppose que tu as un ligne de titre à ta colonne qui contient tes mots (si en plus tu as une ligne vide entre la ligne de titre et le début de tes mots, remplace '+1' par '+2').
Voilà...y'a plus qu'à glisser un bouton sur ta feuille, mettre ce code sur l'évènement clic! (clic droit sur le bouton...tu devrais trouver)
@+! Samy
'Utilisation de Randomize pour éviter la répétition de séries identiques:
Randomize
' Remplace 4 par (le nombre de mots dans ta colonne) -1:
tirage = 1 + Round(4 * Rnd)
'tirage contiendra donc une valeur entre 1 et le nombre de mots dans ta colonne
' Ici, on remplit la cellule cible (remplace 'ligneCelluleCible' et 'colonneCelluleCible' par les valeurs numériques correspondantes):
Sheets("NomDeLaFeuille").Cells(ligneCelluleCible,colonneCelluleCible).Value=Sheets("NomDeLaFeuille").Cells(tirage+1,1).Value
'Enfin, j'ai ajouté tirage+1, car je suppose que tu as un ligne de titre à ta colonne qui contient tes mots (si en plus tu as une ligne vide entre la ligne de titre et le début de tes mots, remplace '+1' par '+2').
Voilà...y'a plus qu'à glisser un bouton sur ta feuille, mettre ce code sur l'évènement clic! (clic droit sur le bouton...tu devrais trouver)
@+! Samy
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
22 avril 2005 à 23:46
22 avril 2005 à 23:46
bonjour
J'aimerais qu'excel me choisisse un mot au hasard dans une liste
dans la cellule où tu veux récupérer le choix, tu mets la formule :
=RECHERCHEH(1;liste;ENT(ALEA()*NB(liste))+1;)
pour que cette formule fonctionne, il faut que tu remplace "liste"
par la plage où tu as ta liste (A1:A500 par exemple)
où mieux que tu sélectionne ta liste et que tu tapes 'liste'
dans la zone nom au-dessus de la cellule A1.
cette formule te choisis la valeur d'une cellule de ta liste
et pour en choisir un nouveau tu tapes sur la touche F9
Moi je souhaiterais faire un truc très simple
çà me parait simple !
à toi jay de nous dire...
mais je n'y comprend rien aux macros !!!
pas besoin de macro !
J'aimerais qu'excel me choisisse un mot au hasard dans une liste
dans la cellule où tu veux récupérer le choix, tu mets la formule :
=RECHERCHEH(1;liste;ENT(ALEA()*NB(liste))+1;)
pour que cette formule fonctionne, il faut que tu remplace "liste"
par la plage où tu as ta liste (A1:A500 par exemple)
où mieux que tu sélectionne ta liste et que tu tapes 'liste'
dans la zone nom au-dessus de la cellule A1.
cette formule te choisis la valeur d'une cellule de ta liste
et pour en choisir un nouveau tu tapes sur la touche F9
Moi je souhaiterais faire un truc très simple
çà me parait simple !
à toi jay de nous dire...
mais je n'y comprend rien aux macros !!!
pas besoin de macro !
electronath
Messages postés
19
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2018
10 mai 2008 à 10:41
10 mai 2008 à 10:41
comme je veux faire un outil rien que pour moi pour un tirage au sort tout simple d'un element dans un liste de mot, j'ai voulu j'ai mis cette formule dans une cellule quelconque de ma feuille:
bonjour
la formule s'inscrit donc en fx mais lorsque je clique "entrée", il m'est écrit ça:
"la formule que vous avez tapée contient une erreur"
suivi de 3 diferents point pour avoir de l'aide.
Est ce que quelqu'un voit où est l'erreur?
bonjour
=RECHERCHEH(1;liste;ENT(ALEA()*NB(A1:A7))+1;)(parceque j'ai commencé l'essai avec 7 noms)
la formule s'inscrit donc en fx mais lorsque je clique "entrée", il m'est écrit ça:
"la formule que vous avez tapée contient une erreur"
suivi de 3 diferents point pour avoir de l'aide.
Est ce que quelqu'un voit où est l'erreur?
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
>
electronath
Messages postés
19
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2018
10 mai 2008 à 12:14
10 mai 2008 à 12:14
bonjour
Pas tout compris dans ta question, mais je pense que ceci devrais être plus approprié
Pas tout compris dans ta question, mais je pense que ceci devrais être plus approprié
=INDIRECT("A"&(ENT(ALEA()*NBVAL(liste)+1)))
electronath
Messages postés
19
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2018
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
10 mai 2008 à 15:04
10 mai 2008 à 15:04
Rhooooo merci gbinform, je ne m'y connais absolument pas en excel mais c'est bon, c'est exactement ce que je voulais.
Ca fonctionne superbement bien.
Pour la peine , je te fais un gros bisou SMOUIIIIIIIK
Ca fonctionne superbement bien.
Pour la peine , je te fais un gros bisou SMOUIIIIIIIK
Bonjour gbinforme, j'ai lu toutes les pages de la question et a chaque fois vous proposez une réponse qui va parfaitement
Donc j'aurais beoin de votre aide s'il vous plaît
Je voudrais creer un programme de révision sur excel 2000, je voudrai qu'une fenêtre de saisie (userform) apparaîse et ensuite me pose les questions dans l'ordre ou au hasard et moi il faudrait que je rentre la réponse à la questions poser. Une répondu à la question quand j'appurai sur un bouton serait-il possible qu'il me dise si c'est la bonne réponse que j'ai mise.
Les questions sont de A1 à A44
Les réponses sont de B1 à B44
La réponse à la questions en A1 se trouve en B1
La réponse à la questions en A2 se trouve en B2
Merci
je suis sur excel version 2000
Donc j'aurais beoin de votre aide s'il vous plaît
Je voudrais creer un programme de révision sur excel 2000, je voudrai qu'une fenêtre de saisie (userform) apparaîse et ensuite me pose les questions dans l'ordre ou au hasard et moi il faudrait que je rentre la réponse à la questions poser. Une répondu à la question quand j'appurai sur un bouton serait-il possible qu'il me dise si c'est la bonne réponse que j'ai mise.
Les questions sont de A1 à A44
Les réponses sont de B1 à B44
La réponse à la questions en A1 se trouve en B1
La réponse à la questions en A2 se trouve en B2
Merci
je suis sur excel version 2000
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
7 mai 2005 à 11:05
7 mai 2005 à 11:05
Lol ... ça m'arrange que tu aies trouvé tout seul!
...j'avais quand même réfléchi un p'tit peu à l'époque!
Bon apprentissage!
@+! Samy
...j'avais quand même réfléchi un p'tit peu à l'époque!
Bon apprentissage!
@+! Samy
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
23 sept. 2005 à 17:16
23 sept. 2005 à 17:16
Bonjour Samy et autres,
Suite à une recherche de fonction aléatoire, je suis tombé sur tes programmes, qui m'ont bien aidés.
J'ai testé le programme pour les densités, impect, j'arrive a sortir un truc, mais y a un HIC... il me sort des chiffres négatif.
Alors voila que je t'explique un peu mon truc.
J'ai 13 personnes, et 13 secteurs. Je souhaiterais affecté un secteur à chaque personne aléatoirement (idem que pour les densités, le secteur doit sortir kune seule fois).
J'ai testé le code que tu as donné a Manina. Je l'ai bien sur adapté a ma feuille.
Le problème comme je disais plus haut, c'est qu'il me ressort 2 à 3 chiffre négatif, et toujours les mm (-1), ché pas pourkoi, et du
coup il me supprime 2 à 3 chiffres.
Voilà si quelqu'un a une idée, please, pouvez-vous me contacter...
Je pense que le problème viens de ma boucle
For i = 1 To 13
animTiree = -13
While animTiree = -13
Randomize
tirage = 1 + Round(12 * Rnd)
Voila voila, si kkun a une info ça serait SUPER
MERCI
Suite à une recherche de fonction aléatoire, je suis tombé sur tes programmes, qui m'ont bien aidés.
J'ai testé le programme pour les densités, impect, j'arrive a sortir un truc, mais y a un HIC... il me sort des chiffres négatif.
Alors voila que je t'explique un peu mon truc.
J'ai 13 personnes, et 13 secteurs. Je souhaiterais affecté un secteur à chaque personne aléatoirement (idem que pour les densités, le secteur doit sortir kune seule fois).
J'ai testé le code que tu as donné a Manina. Je l'ai bien sur adapté a ma feuille.
Le problème comme je disais plus haut, c'est qu'il me ressort 2 à 3 chiffre négatif, et toujours les mm (-1), ché pas pourkoi, et du
coup il me supprime 2 à 3 chiffres.
Voilà si quelqu'un a une idée, please, pouvez-vous me contacter...
Je pense que le problème viens de ma boucle
For i = 1 To 13
animTiree = -13
While animTiree = -13
Randomize
tirage = 1 + Round(12 * Rnd)
Voila voila, si kkun a une info ça serait SUPER
MERCI
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
29 sept. 2005 à 18:56
29 sept. 2005 à 18:56
Salut,
Alors à priori, y'a pas de pb pour adapter ce code, j't'ai fait un p'tit canevas:
//******************** CODE ****************************
Public Sub tirage(colonne As Integer)
Dim densite1, densite2, densite3, densite4, densite5, densite6, ..., densite13, densiteTiree As Double
Dim tirage As Integer
Dim densite1Tiree, densite2Tiree, densite3Tiree, densite4Tiree, densite5Tiree, densite6Tiree, ..., densite13Tiree As Boolean
densite1 = ActiveSheet.Cells(2, 2).Value
densite2 = ActiveSheet.Cells(3, 2).Value
densite3 = ActiveSheet.Cells(4, 2).Value
densite4 = ActiveSheet.Cells(5, 2).Value
densite5 = ActiveSheet.Cells(6, 2).Value
densite6 = ActiveSheet.Cells(7, 2).Value
...
densite13 = ActiveSheet.Cells(14, 2).Value
densite1Tiree = False
densite2Tiree = False
densite3Tiree = False
densite4Tiree = False
densite5Tiree = False
densite6Tiree = False
...
densite13Tiree = False
For i = 1 To 13
densiteTiree = -999
While densiteTiree = -999
'Utilisation de Randomize pour éviter la répétition de séries identiques:
Randomize
tirage = 1 + Round(12 * Rnd)
Select Case tirage
Case 1
If densite1Tiree <> True Then
densiteTiree = densite1
End If
densite1Tiree = True
Case 2
If densite2Tiree <> True Then
densiteTiree = densite2
End If
densite2Tiree = True
Case 3
If densite3Tiree <> True Then
densiteTiree = densite3
End If
densite3Tiree = True
Case 4
If densite4Tiree <> True Then
densiteTiree = densite4
End If
densite4Tiree = True
Case 5
If densite5Tiree <> True Then
densiteTiree = densite5
End If
densite5Tiree = True
Case 6
If densite6Tiree <> True Then
densiteTiree = densite6
End If
densite6Tiree = True
...
Case 13
If densite13Tiree <> True Then
densiteTiree = densite13
End If
densite13Tiree = True
End Select
Wend
ActiveSheet.Cells(i + 1, colonne).Value = densiteTiree
Next i
End Sub
//******************* FIN CODE *************************
Voilà pour la fonction
Pour les boutons...ben c'est encore plus intuitif!
Le seul point à vérifier, c'est la correspondance avec la colonne qui contient tes nombres de 1 à 13 :
densite1 = ActiveSheet.Cells(2, 2).Value
densite2 = ActiveSheet.Cells(3, 2).Value
densite3 = ActiveSheet.Cells(4, 2).Value
densite4 = ActiveSheet.Cells(5, 2).Value
densite5 = ActiveSheet.Cells(6, 2).Value
densite6 = ActiveSheet.Cells(7, 2).Value
...
densite13 = ActiveSheet.Cells(14, 2).Value
les 13 nombres sont dans la colonne 2 de la ligne 2 à la ligne 14!
@+! Samy
Alors à priori, y'a pas de pb pour adapter ce code, j't'ai fait un p'tit canevas:
//******************** CODE ****************************
Public Sub tirage(colonne As Integer)
Dim densite1, densite2, densite3, densite4, densite5, densite6, ..., densite13, densiteTiree As Double
Dim tirage As Integer
Dim densite1Tiree, densite2Tiree, densite3Tiree, densite4Tiree, densite5Tiree, densite6Tiree, ..., densite13Tiree As Boolean
densite1 = ActiveSheet.Cells(2, 2).Value
densite2 = ActiveSheet.Cells(3, 2).Value
densite3 = ActiveSheet.Cells(4, 2).Value
densite4 = ActiveSheet.Cells(5, 2).Value
densite5 = ActiveSheet.Cells(6, 2).Value
densite6 = ActiveSheet.Cells(7, 2).Value
...
densite13 = ActiveSheet.Cells(14, 2).Value
densite1Tiree = False
densite2Tiree = False
densite3Tiree = False
densite4Tiree = False
densite5Tiree = False
densite6Tiree = False
...
densite13Tiree = False
For i = 1 To 13
densiteTiree = -999
While densiteTiree = -999
'Utilisation de Randomize pour éviter la répétition de séries identiques:
Randomize
tirage = 1 + Round(12 * Rnd)
Select Case tirage
Case 1
If densite1Tiree <> True Then
densiteTiree = densite1
End If
densite1Tiree = True
Case 2
If densite2Tiree <> True Then
densiteTiree = densite2
End If
densite2Tiree = True
Case 3
If densite3Tiree <> True Then
densiteTiree = densite3
End If
densite3Tiree = True
Case 4
If densite4Tiree <> True Then
densiteTiree = densite4
End If
densite4Tiree = True
Case 5
If densite5Tiree <> True Then
densiteTiree = densite5
End If
densite5Tiree = True
Case 6
If densite6Tiree <> True Then
densiteTiree = densite6
End If
densite6Tiree = True
...
Case 13
If densite13Tiree <> True Then
densiteTiree = densite13
End If
densite13Tiree = True
End Select
Wend
ActiveSheet.Cells(i + 1, colonne).Value = densiteTiree
Next i
End Sub
//******************* FIN CODE *************************
Voilà pour la fonction
Pour les boutons...ben c'est encore plus intuitif!
Le seul point à vérifier, c'est la correspondance avec la colonne qui contient tes nombres de 1 à 13 :
densite1 = ActiveSheet.Cells(2, 2).Value
densite2 = ActiveSheet.Cells(3, 2).Value
densite3 = ActiveSheet.Cells(4, 2).Value
densite4 = ActiveSheet.Cells(5, 2).Value
densite5 = ActiveSheet.Cells(6, 2).Value
densite6 = ActiveSheet.Cells(7, 2).Value
...
densite13 = ActiveSheet.Cells(14, 2).Value
les 13 nombres sont dans la colonne 2 de la ligne 2 à la ligne 14!
@+! Samy
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
>
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
11 oct. 2005 à 09:25
11 oct. 2005 à 09:25
Salut Samy
Je te remercie pour ta réponse, c'est super sympa, je vais tester ça desuite
Merci je te dis si ça marche
bonne journée
Je te remercie pour ta réponse, c'est super sympa, je vais tester ça desuite
Merci je te dis si ça marche
bonne journée
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
>
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
11 oct. 2005 à 10:04
11 oct. 2005 à 10:04
c'est encore MOI,
Voilà j'ai testé, mais rien à y faire, j'ai toujours 2 ou 3 fois le -1, j'ai vraiment tout testé c'est fou ça !!!!
J'ai mm changé ma fonction de place, je l'ai mise directement ds le code de ma feuille, et ds la page module, (ds la page module j'ai un HIC, encore ;-( il me dit que la fonction TIRAGE () n'est pas définie .... rhhhhhhhhhhhg
je sens que je vais faire un MALHEUR....BON merci quand mm à toi SAMY,
a++
kari
Voilà j'ai testé, mais rien à y faire, j'ai toujours 2 ou 3 fois le -1, j'ai vraiment tout testé c'est fou ça !!!!
J'ai mm changé ma fonction de place, je l'ai mise directement ds le code de ma feuille, et ds la page module, (ds la page module j'ai un HIC, encore ;-( il me dit que la fonction TIRAGE () n'est pas définie .... rhhhhhhhhhhhg
je sens que je vais faire un MALHEUR....BON merci quand mm à toi SAMY,
a++
kari
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
>
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
11 oct. 2005 à 10:09
11 oct. 2005 à 10:09
Si t'as des -1, c'est que les correspondances dont j'ai parlé ne doivent pas être bonnes (elles sont stockées où les valeurs que tu veux afficher?
Pour la fonction Tirage...je vois pas pourquoi il la reconnaîtrait pas...bizarre!
Mets-moi ton fichier à disposition qqpart que je puisse y jeter un oeil!
@+! Samy
Pour la fonction Tirage...je vois pas pourquoi il la reconnaîtrait pas...bizarre!
Mets-moi ton fichier à disposition qqpart que je puisse y jeter un oeil!
@+! Samy
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
11 oct. 2005 à 10:25
11 oct. 2005 à 10:25
RE,
ui, donc il me semble que mes correspondances sont bonnes, elles se trouvent dans la deuxième colonne à partire de la ligne 16 --> 28,
je voudrais bien te faire passer mon fichier, mais j'ai pas de FTP, de donc ... pas de possibilité de te donner un accès, par contre si tu veux je peux te l'envoyer sur ta boite mail, si bien sur cela te dérange pas...
Tiens je te laisse mon mail cbb_kari@hotmail.com si tu veux m'envoyer le tiens, et je te joins mon SUPER FICHIER
a++ kari
ui, donc il me semble que mes correspondances sont bonnes, elles se trouvent dans la deuxième colonne à partire de la ligne 16 --> 28,
je voudrais bien te faire passer mon fichier, mais j'ai pas de FTP, de donc ... pas de possibilité de te donner un accès, par contre si tu veux je peux te l'envoyer sur ta boite mail, si bien sur cela te dérange pas...
Tiens je te laisse mon mail cbb_kari@hotmail.com si tu veux m'envoyer le tiens, et je te joins mon SUPER FICHIER
a++ kari
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
11 oct. 2005 à 11:06
11 oct. 2005 à 11:06
Hmmm...étourderie quand tu nous tiens!!!
Alors ton problème avec la fonction tirage...faut faire:
Public Sub tirage... et pas Private Sub tirage
Ensuite, les -1 ils apparaissent car t'as mal fait ton copier-coller dans le case 4:
Pas bon:
Case 4
If anim4Tiree <> True Then
animTiree = anim4
End If
animTiree = True
Bon:
Case 4
If anim4Tiree <> True Then
animTiree = anim4
End If
anim4Tiree = True
Un petit 4 qui manquait au milieu!
@+! Samy
Alors ton problème avec la fonction tirage...faut faire:
Public Sub tirage... et pas Private Sub tirage
Ensuite, les -1 ils apparaissent car t'as mal fait ton copier-coller dans le case 4:
Pas bon:
Case 4
If anim4Tiree <> True Then
animTiree = anim4
End If
animTiree = True
Bon:
Case 4
If anim4Tiree <> True Then
animTiree = anim4
End If
anim4Tiree = True
Un petit 4 qui manquait au milieu!
@+! Samy
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
11 oct. 2005 à 11:19
11 oct. 2005 à 11:19
lol
merci, je me fais toute petite...
voila, tu vois bien, je m'en doutais qu'il s'agissait d'un tout petite truc, lol, Merci beaucoup
a++ kari,
merci, je me fais toute petite...
voila, tu vois bien, je m'en doutais qu'il s'agissait d'un tout petite truc, lol, Merci beaucoup
a++ kari,
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
11 oct. 2005 à 11:25
11 oct. 2005 à 11:25
Super, merci, tout fonctionne correctement, je vais enfin pouvoir continuer mon projet
je sais je me repete, mais MERCI BEAUCOUP
A++ Kari
je sais je me repete, mais MERCI BEAUCOUP
A++ Kari
BOUCLE30
Messages postés
7
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
11 octobre 2005
11 oct. 2005 à 11:31
11 oct. 2005 à 11:31
Super, merci, tout fonctionne correctement, je vais enfin pouvoir continuer mon projet
je sais je me repete, mais MERCI BEAUCOUP
A++ Kari
je sais je me repete, mais MERCI BEAUCOUP
A++ Kari
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
11 oct. 2005 à 11:49
11 oct. 2005 à 11:49
mais de rien...toujours là pour rendre service!
@+! Samy
@+! Samy
bonjour
Je recherche une fonction dans Excel pour afficher dans une cellule la date de sauvegarde du fichier. Ca existe ?
merci.
Je recherche une fonction dans Excel pour afficher dans une cellule la date de sauvegarde du fichier. Ca existe ?
merci.
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
6 juin 2006 à 11:55
6 juin 2006 à 11:55
Salut,
J'ai fait une p'tite recherche dans l'aide:
------------------------------------------------
Sub AfficheInfoAccesFichier(specfichier)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(specfichier)
s = UCase(specfichier) & vbCrLf
s = s & "Créé le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified
MsgBox s, 0, "Infos d'accès au fichier"
End Sub
------------------------------------------------
DateLastModified doit être la fonction que tu recherches!
@+! Samy
J'ai fait une p'tite recherche dans l'aide:
------------------------------------------------
Sub AfficheInfoAccesFichier(specfichier)
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(specfichier)
s = UCase(specfichier) & vbCrLf
s = s & "Créé le : " & f.DateCreated & vbCrLf
s = s & "Dernier accès le : " & f.DateLastAccessed & vbCrLf
s = s & "Dernière modification le : " & f.DateLastModified
MsgBox s, 0, "Infos d'accès au fichier"
End Sub
------------------------------------------------
DateLastModified doit être la fonction que tu recherches!
@+! Samy
cyril
>
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
6 juin 2006 à 11:59
6 juin 2006 à 11:59
je te remercie.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
6 juin 2006 à 14:03
6 juin 2006 à 14:03
bonjour
Pour mettre à jour cette cellule où tu veux la date de dernière modification affichée,
tu peux aussi rajouter, dans thisworkbook, cette fonction :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("c_maj").Value = Date
End Sub
Il suffit de nommer la cellule d'affichage avec le nom : c_maj pour que cela fonctionne.
La cellule doit avoir les formats dates et/ou heures recherchés.
Pour mettre à jour cette cellule où tu veux la date de dernière modification affichée,
tu peux aussi rajouter, dans thisworkbook, cette fonction :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("c_maj").Value = Date
End Sub
Il suffit de nommer la cellule d'affichage avec le nom : c_maj pour que cela fonctionne.
La cellule doit avoir les formats dates et/ou heures recherchés.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
6 juin 2006 à 14:22
6 juin 2006 à 14:22
bonjour
j'avais préparé la fonction avant la question sans macro,
mais je ne connais pas de solution possible en fonction pure,
car si l'on peut afficher la date on ne peut pas lier à un événement de sauvegarde.
il faut copier / coller la macro, après avoir ouvert l'éditeur
(Alt + F11) mais en utilisation, c'est totalement transparent.
j'avais préparé la fonction avant la question sans macro,
mais je ne connais pas de solution possible en fonction pure,
car si l'on peut afficher la date on ne peut pas lier à un événement de sauvegarde.
il faut copier / coller la macro, après avoir ouvert l'éditeur
(Alt + F11) mais en utilisation, c'est totalement transparent.
bonjour.
Existe t-il une fonction qui puisse afficher une question automatiquement dès que l'on entre un enregistrement?
Merci de m'aider.
Existe t-il une fonction qui puisse afficher une question automatiquement dès que l'on entre un enregistrement?
Merci de m'aider.
goldenboy68
Messages postés
130
Date d'inscription
vendredi 3 octobre 2003
Statut
Membre
Dernière intervention
11 janvier 2010
50
6 juin 2006 à 15:25
6 juin 2006 à 15:25
Avec VBA tu peux faire énormément de choses, mais si tu veux pas utiliser de code, tu seras très vite limité. Tu ne pourras pas faire afficher de message par exemple (je crois).
@+!
@+!
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
6 juin 2006 à 15:24
6 juin 2006 à 15:24
bonjour
vérifie la manip car je l'utilise depuis excel 97 et cela fonctiomme.
tu peux même rajouter :
Range("c_maj").Value = Date & " à " & time
pour avoir la date et l'heure.
vérifie la manip car je l'utilise depuis excel 97 et cela fonctiomme.
tu peux même rajouter :
Range("c_maj").Value = Date & " à " & time
pour avoir la date et l'heure.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
6 juin 2006 à 18:14
6 juin 2006 à 18:14
bonjour
ca ne marche toujour pas ton code!
tu veux certainement dire qu'il ne fonctionne pas,
mais s'il y a un problème, il doit te donner un code erreur.
Par exemple si tu n'as pas bien nommé la cellule : "la méthode range a échoué".
dans ce cas tu sélectionnes la cellule qui doit avoir la date,
et dans la zone de saisie en haut à gauche, où apparaît l'adresse
de la cellule, tu saisis "c_maj" et cela fonctionnera.
si tu n'a pas d'erreur et pas de résultat, c'est que tu n'a pas mis le code où il faut, c'est-à-dire dans "ThisWorkbook",
où que tu n'as pas nommé la bonne cellule et alors la date est ailleurs.
ta cellule est peut-être trop petite et tu as des "#####".
tu vois qu'il faudrait un tout petit peu préciser "ca ne marche toujour pas ton code!" pour t'aider d'avantage.
allez, précises moi un peu la panne.
ca ne marche toujour pas ton code!
tu veux certainement dire qu'il ne fonctionne pas,
mais s'il y a un problème, il doit te donner un code erreur.
Par exemple si tu n'as pas bien nommé la cellule : "la méthode range a échoué".
dans ce cas tu sélectionnes la cellule qui doit avoir la date,
et dans la zone de saisie en haut à gauche, où apparaît l'adresse
de la cellule, tu saisis "c_maj" et cela fonctionnera.
si tu n'a pas d'erreur et pas de résultat, c'est que tu n'a pas mis le code où il faut, c'est-à-dire dans "ThisWorkbook",
où que tu n'as pas nommé la bonne cellule et alors la date est ailleurs.
ta cellule est peut-être trop petite et tu as des "#####".
tu vois qu'il faudrait un tout petit peu préciser "ca ne marche toujour pas ton code!" pour t'aider d'avantage.
allez, précises moi un peu la panne.
l'erreur est la suivante:La méthode 'Range' de l'objet '_global' a échoué
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 686
7 juin 2006 à 08:28
7 juin 2006 à 08:28
bonjour
la réponse à ce cas d'erreur était donnée.
la réponse à ce cas d'erreur était donnée.