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

[Résolu]
Signaler
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
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

Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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...


 
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

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.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
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
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Mortalino, tu es trop rapide...

MPi
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

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
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

J'ai 50 feuilles dans le classeur, est il possible de programmer pour les 50 feuilles ou faut écrire une à une chaque feuille?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Relis le dernier message de Mortalino

Value et non Text
+ nom de ta feuille
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
20
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
20 janvier 2007

ç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.
?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--