Programmer dans une cellule donnée l'écriture d'un nom aprés connection avec mot

Résolu
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007 - 13 janv. 2007 à 11:30
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 13 janv. 2007 à 19:24
Bonjour
je suis toujours occupé à mettre en place une application pour le travail. l'application consiste à produire un petit logiciel de prescriptions médicales.J'ai réussi à programmer grace à de l'aide sur ce forum une connection par mots de passe, un mot passe différent pour chaque médecin. ma question est la suivante:
Comment faire pour inscrire dans une cellule donnée sur une feuille,  le nom du médecin qui se connecte avec son mot de passe. Exemple: le DR Fruchart se connecte avec le mot de passe "fruch_1" et son nom s'inscrit automatiquement dans la cellule A10. Pour le code c'est OK, c'est l'inscription du nom qui me pose problème.
Merci pour vos suggestions.

21 réponses

yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 19:10
Il faut que je m'absente, j'essaie avec tes propositions demain matin, je vais fermer ce post car j'ai m'a réponse, tu dis que ça marche chez toi, je vais réessayer demain matin.
  Merci encore pour vos réponses à tous
Cordialement
Jean yves
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 janv. 2007 à 11:40
Question toute bête :

Ta "connection" fait-elle partie de ton application ou est-ce unne appli séparée" dont la finalité serait de lancer ton application ?

On ne peut deviner, à ce stade (et la réponse n'est certes pas la même dans un cas et danns l'autre)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 14:15
Salut,

je ne sais plus comment tu fais la demande, mais si c'est à l'ouverture de ton classeur, lors de la condition pour vérifier le nom et le mot de passe, insère une instruction style Range("A10").Text = "Dr Fruchart", et ce pour tous les médecins.

En cas, si tu galères, refile nous le code dont tu te sers pour gérer les noms et mots de passe, on te l'imbriquera dedans.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 17:19
Bonjour à tous et particulierement au mystérieux chevalier
Voilà ma config de connection des médecins:

Private Sub Workbook_Open()
 Dim sName As String
 sName = InputBox("Entrez votre code d'accès")
Select Case sName
        Case "Fruchart"
             'code
        Case "Musaf_2"
             'code
        Case "Delcambre"
             'code
        Case Else
             ThisWorkbook.Close False
    End Select
End Sub

Merci pour ta réponse, je bouquine un bouquin pour apprendre le vba, j'avance... mais j'ai encore besoin
Cordialement
Jean Yves
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 17:26
Salut Yapluka14,

voici comment procéder :

rivate Sub Workbook_Open()
 Dim sName As String
 sName = InputBox("Entrez votre code
d'accès")
Select Case sName
        Case "Fruchart"
            
'code
        Case "Musaf_2"
            
'code
        Case "Delcambre"
            
'code
        Case Else
             ThisWorkbook.Close False
    End Select
    Range("A10").Text = "Dr " & sName
End Sub

~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 janv. 2007 à 17:30
Ben alors ! Tu l'as, ta réponse...
Comme te l'as dit mortalino, il te suffit de choisir ta cellule d'affichage et d'afficher, genre :
("A10").Text = "Bonjour, M. " & sName ' pour affichher dans la cellule A10, par exemple.


 


Je suppose que tu demandes également le code d'accès entre-temps par une autre inputbox ou autre chose...


 
0
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 18:02
re
Je vais essayer de lmeux m'expliquer:
j'ai rentré les commandes suivantes:
Private Sub Workbook_Open()
Dim sName As String
 sName = InputBox("Entrez votre code d'accès")
Select Case sName
        Case "Fruch_1"
             'code
        Case "Musaf_2"
             'code
        Case "Delcam_3"
             'code
        Case Else
             ThisWorkbook.Close False
    End Select
    Range("A10").Text = "Dr " & sName
End Sub
ça ne fonctionne pas , la réponse est : erreur 424, objet requis.
j'explique plus précisément ma demande:
En fait puisqu'il fallait un code différent pour chaque médecin, je me sers de chaque case comme une ligne de code je m'explique:
La case "Fruch_1" c'est le code pour le DR Fruchart
La case "Musaf_2" c'est le code pour le DR Musafiri
La case "Delcam_3" c'est le code pour le DR Delcambre
Comme ça j'ai un code différent pour chaque médecin.
Ce que j'aimerai faire : lorsque le médecin  Fruchart se connecte par son code "Fruch_1" J'aimerai que son nom DR FRuchart apparaisse en A10. etc.. pour les autres.
j'espère avoir été plus précis sur ce que j'aimerai faire.

Je ne veux vexer personne, si dans le message précédent je m'adresser plus particulièrement à Mortalino, c'est que ce dernier m'avait déjà répondu dans un autre post sur la même application.
 Monsieur ? ne vous vexez pas je ne voulais pas être désobligeant à votre égard.
Jean Yves.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 18:16
Alors étant donné que les noms ne sont pas explicitement rentrés par eux-mêmes, il faut se le palucher par code, sous chaque case :

Private Sub Workbook_Open()
 Dim sName As String
 sName = InputBox("Entrez votre code
d'accès")
Select Case sName
        Case "Fruchart"
            
'code
            Range("A10").Text = "Dr Fruchart" 'ICI
        Case "Musaf_2"
             'code
            Range("A10").Text = "Dr
Intel"    'ICI
        Case "Delcambre"
            
'code
            Range("A10").Text = "Dr Intel"    'ICI et autant de Case, sauf le dernier (Case Else)
        Case Else
             ThisWorkbook.Close False
    End Select
End Sub

~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

Concernant l'erreur sur l'objet requis, je ne vois pas à quoi c'est dût. As-tu une ligne surligné en jaune ? Si oui, laquelle ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 janv. 2007 à 18:18
Private Sub Workbook_Open()
Dim sName As String
 sName = InputBox("Entrez votre code d'accès")
Select Case sName
        Case "Fruch_1"
            Range("A10").Text = "Dr Fruchart"

             'code
        Case "Musaf_2"
            Range("A10").Text = "Dr Musafiri"

             'code
        Case "Delcam_3"
            Range("A10").Text = "Dr Delcambre"

             'code
        Case Else
             ThisWorkbook.Close False
    End Select
End Sub

MPi
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 janv. 2007 à 18:19
Mortalino, tu es trop rapide...

MPi
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 18:20
C'est bon, j'ai trouvé le coup de l'objet requis, il faut nommer la feuille et changer le .Text en .Value :

Private Sub Workbook_Open()
 Dim sName As String
 sName = InputBox("Entrez votre code
d'accès")
Select Case sName
        Case "Fruchart"
            
'code
            Sheets("NomFeuille").Range("A10").Value = "Dr Fruchart" 'ICI
        Case "Musaf_2"
            
'code
            Sheets("NomFeuille").Range("A10").Value = "Dr Intel'ICI"
        Case "Delcambre"
             'code
            Sheets("NomFeuille").Range("A10").Value = "Dr Intel'ICI et autant de
Case, sauf le dernier (Case Else)"
        Case Else
             ThisWorkbook.Close False
    End Select
End Sub

~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

Dans mon code, pense à changer aussi le nom de la feuille (en rouge)

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 18:21
Merci MPi, j'ai même pu corriger le coup de l'objet requis

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 18:33
re
Toujours une erreur
sur la prog de mortalino: erreur 424 objet requis
Range("A10").Text = "Dr Fruchart" 'ICI   (en jaune) dans le debogger
Pour monsieur ? : erreur 424 objet requis
 Range("A10").Text = "Dr Fruchart"  (en jaune ) dans le debogger

Que faire?
Jean Yves
0
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 18:35
J'ai 50 feuilles dans le classeur, est il possible de programmer pour les 50 feuilles ou faut écrire une à une chaque feuille?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
13 janv. 2007 à 18:35
Relis le dernier message de Mortalino

Value et non Text
+ nom de ta feuille
0
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 18:40
Mortalino est trop rapide, j'ai même pas le temps de formuler un problème qu'il réponds avant que je lise sa réponse!!!
j'essaie ce qu'il m'a proposé
pour les 50 feuille ce serai si je pouvais les programmer sur la même ligne et non sune ligne pae feuille
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 18:41
Oui, merci jmfmarques.

Après pour ton hstoire de feuilles, tout est possible, voici un exemple :

Dim xlSheet As WorkSheet


For Each xlSheet In Application.WorkSheets

    xlSheet.Range("adresse que tu veux").Value = "La valeur"

Next xlSheet

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
yapluka14 Messages postés 20 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 20 janvier 2007
13 janv. 2007 à 18:56
ça fonctionne pour les noms c'est impeccable. mais un petit mais, les patients pouvant rester 50 jours dans le service de greffe de moelle, j'ai appelé les fiches: j-8, j-7.....j0, j1....j50. ta prog marche pour les jours positifs mais pas pour les jours negatifs ex: j-8 qui correspond  a 8 jours avant la greffe de moelle, rien ne s'inscrit.
?
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 19:02
C'est bizarre, si par fiche tu entends feuille, je viens de faire le test, j'ai remplacé Feuil1 par j-1 et ça fonctionne quand même.

Au pire, essaie avec cette syntaxe, mais je doûte que ça change quelque chose :

Dim xlSheet As WorkSheet

For Each xlSheet In Application.WorkSheets
    Sheets(xlSheet.Name).Range("A50").Value = "La valeur"
Next xlSheet

~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
13 janv. 2007 à 19:05
Autre solution :

    Dim i As Integer

On Local Error Resume Next

For i = 1 To Application.Worksheets.Count
    Sheets(i).Range("A50").Value = "La valeur"
Next i


~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Rejoignez-nous