création des utilisateurs excel

Discussions à propos de la gestion du serveur et des utilisateurs

Modérateurs: Systemat, Priminfo, SPW

Re: création des utilisateurs excel

Messagede lolodelvo » 01 Oct 2009, 11:12

Cela fonctionne bien jusqu'au point 10. (OUF, le dernier...)
Quand j'efface toutes les autres colonnes (que la colonne c), mes mots de passe (fuma22, petr56, jgbs67, ...) disparaissent.
Au point 9 de vos explications, j'ai génèrer un nombre aléatoire de deux chiffres en mettant ceci :
=1 + ENT(ALEA()*100)

Se peut-il que mon erreur vienne de là??
Je ne suis pas doué avec Excel.

Merci pour vos conseils.
lolodelvo
 
Messages: 30
Inscription: 29 Sep 2009, 16:28

Re: création des utilisateurs excel

Messagede guilou144 » 01 Oct 2009, 17:03

Avez-vous bien copié les valeurs et non les formules ? Pour cela, il faut faire un "collage spécial" et choisir "valeur", sans quoi, le programme va copier les formules !
Pour le nombre aléatoire, j'ai utilisé =ENT(ALEA()*90) + 10, ce qui évite d'avoir des nombres d'un seul chiffre, mais c'est pas déterminant. Il faut bien sûr, copier- glisser la formule jusque qu'au dernier utilisateur; mais ça va tellement vite qu'on se retrouve souvent beaucoup trop bas !
Vu le manque total d'élégance de la méthode, je suis en train de refaire une seule macro qui génèrerait d'un seul coup le bon pass à la bonne place. ça servira à d'autres et, à moi-même l'année prochaine !
Je publie dès que c'est en ordre.
Guy Werner. Collège du Sartay Embourg.
guilou144
 
Messages: 75
Inscription: 03 Sep 2009, 15:05

Re: création des utilisateurs excel

Messagede guilou144 » 01 Oct 2009, 17:47

Voilà, voilà. J'ai un peu bûché sur la macro et je vous propose la création de mots de passe en une seule macro, beaucoup plus élégant que la méthode précédente !
Mode d'emploi :
1. Créer vos utilisateurs dans une feuille excel, dans la colonne A comme préconisé
2. Ouvrir le visual basic editor : il suffit de faire alt f11
3. insertion d'un nouveau module
4. copier intégralement la macro suivante
Public ValTotal As String
Public ValPassA As String
Public ValPassB As String

Sub Demarrer()

Dim ValAleatoire As Integer
Dim Longueur As Integer

ValTotal = "" 'nettoyage de la variable (cas de plusieurs utilisation a la suite)
Longueur = 0 'init de la variable

suite:

Randomize ' Initialise le générateur de nombres aléatoires.

' Renvoie une valeur aléatoire comprise entre 1 et 16.
ValAleatoire = Int((16 * Rnd) + 1)


'traitement de l'ajout d'un nombre


ValPassA = "V" & ValAleatoire
Call TableEquiC

Randomize ' Initialise le générateur de nombres aléatoires.

' Renvoie une valeur aléatoire comprise entre 1 et 5.
ValAleatoire = Int((5 * Rnd) + 1)
ValPassB = "V" & ValAleatoire
Call TableEquiV

saut:

'ajout des valeurs
ValTotal = ValTotal & ValPassA & ValPassB
Longueur = Longueur + 2

'compteur de la longueur du password
If Longueur < 4 Then
GoTo suite
Else
Randomize ' Initialise le générateur de nombres aléatoires.

' Renvoie une valeur aléatoire comprise entre 10 et 99.
ValAleatoire = Int((90 * Rnd) + 10)
ValTotal = ValTotal & ValAleatoire
Call Ecriture 'ecrire le password
End If

End Sub





Sub TableEquiC()

If ValPassA = "V1" Then
ValPassA = "B"
End If

If ValPassA = "V2" Then
ValPassA = "C"
End If


If ValPassA = "V3" Then
ValPassA = "D"
End If

If ValPassA = "V4" Then
ValPassA = "F"
End If

If ValPassA = "V5" Then
ValPassA = "G"
End If

If ValPassA = "V6" Then
ValPassA = "H"
End If
If ValPassA = "V7" Then
ValPassA = "J"
End If
If ValPassA = "V8" Then
ValPassA = "K"
End If

If ValPassA = "V9" Then
ValPassA = "L"
End If

If ValPassA = "V10" Then
ValPassA = "M"
End If

If ValPassA = "V11" Then
ValPassA = "N"
End If

If ValPassA = "V12" Then
ValPassA = "P"
End If

If ValPassA = "V13" Then
ValPassA = "R"
End If

If ValPassA = "V14" Then
ValPassA = "S"
End If

If ValPassA = "V15" Then
ValPassA = "T"
End If

If ValPassA = "V16" Then
ValPassA = "V"
End If

End Sub

Sub TableEquiV()

If ValPassB = "V1" Then
ValPassB = "A"
End If

If ValPassB = "V2" Then
ValPassB = "E"
End If


If ValPassB = "V3" Then
ValPassB = "I"
End If

If ValPassB = "V4" Then
ValPassB = "O"
End If

If ValPassB = "V5" Then
ValPassB = "U"
End If



End Sub



Sub Ecriture()

Dim DerLigneUser
Dim DerLignePass

'attention! on commence a écrire en ligne 2

Sheets("Feuil1").Select 'selection de la feuille
DerLigneUser = Cells(Cells.Rows.Count, "A").End(xlUp).Row 'trouver la dernière ligne occupé dans la colonne des noms
DerLignePass = Cells(Cells.Rows.Count, "C").End(xlUp).Row 'trouver le dernier pass


If DerLigneUser <= DerLignePass Then 'verif entre les colonnes noms et password
MsgBox "fin de l'opération"
Exit Sub
Else
Range("Feuil1!C" & (DerLignePass + 1)).Value = ValTotal 'ecrire le password
ValTotal = ""
Call Demarrer 'recommencer l'opération
End If


End Sub


5. Revenir à Excel et lancer la macro (outil, macro et choisir executer)
6. Les mots de passe sont créés automatiquement dans la colonne C du premier utilisateur (ligne 2) jusqu'au dernier. Nul besoin de faire autre chose.
7. Attention que la feuille excel dans laquelle vous travaillez s'appelle bien "Feuil1". Si vous êtes très organisé et que vous avez changé le nom, la macro ne saura s'exécuter.
7. Je vais donc effacer le tutorial précédent.
8. ;)
Dernière édition par guilou144 le 01 Oct 2009, 20:06, édité 1 fois.
Guy Werner. Collège du Sartay Embourg.
guilou144
 
Messages: 75
Inscription: 03 Sep 2009, 15:05

Re: création des utilisateurs excel

Messagede lolodelvo » 01 Oct 2009, 18:48

Ben, dites donc, vous chômez pas vous...

Bravo et un grand merci...
lolodelvo
 
Messages: 30
Inscription: 29 Sep 2009, 16:28

Re: création des utilisateurs excel

Messagede lolodelvo » 19 Oct 2009, 19:35

Je viens enfin de recevoir la liste de tous les élèves et profs de l'école (240).

LOrsque j'exécute ma macro, j'ai une fenêtre qui met : "erreur d'exécution '28' espace pile insuffisant puis on me propose fin - débogage - aide.

Je choisis alors "débogage" et seulement une vingtaine de mots de passe sont générés.
Dans ma macro j'ai en jaune : call Démarrer "recommencer l'opération" (p-être est-ce là où le bas blesse??)
Puis lorsque je recommence l'opération d'exécution de ma macro (outils>macro>macro exécuter), il me met : impossible d'exécuter le code en mode arrêt.

Que dois-je faire??

Merci pour votre aide, si vous êtes tjs là pour m'aider...
lolodelvo
 
Messages: 30
Inscription: 29 Sep 2009, 16:28

Re: création des utilisateurs excel

Messagede guilou144 » 19 Oct 2009, 20:00

Ben, je ne sais pas ! La macro fonctionne bien chez moi mais : Il ne faut pas de case vide dans la liste des login des élèves car la génération de pass s'arrête dès qu'il y a une case vide, pour elle, la liste est finie.
Avez-vous bien recopié toute la macro ?
Cette macro fonctionne dans excel 2003, c'est dans cet espace que je l'ai créée, peut-être n'est-elle pas reconnue telle quelle dans openoffice.
Si vous m' envoyez le fichier excel, je peux essayer de mon côté de vous générer les pass.
Bien à vous.
Guy Werner. Collège du Sartay Embourg.
guilou144
 
Messages: 75
Inscription: 03 Sep 2009, 15:05

Précédente

Retourner vers Gestion du serveur

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron