Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business

|-  LOGICIELS


|||-  

macro avec inputbox et liste obligatoire

 

1 utilisateur anonyme et 128 utilisateurs inconnus
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

macro avec inputbox et liste obligatoire

RÉSOLU
Prévenir les modérateurs en cas d'abus 
xaviermagd​elaine
xaviermagdelaine
  1. Posté le 13/03/2017 à 09:36:08  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour à tous,
J'ai un fichier excel (créer par une autre personne) qui me permet d'enregistrer des mouvements de matériels.
Le fonctionnement est le suivant:
Je double clic par ex en C4; une fenêtre s’ouvre et je scanne un code barre correspondant au nom d'une personne identique à la liste se trouvant sous l'onglet "personnel" (ex.pierre, paul, alain, julie) mais pas Daniel car il ne se trouve pas dans la liste.
Mon problème est que je voudrais que nous puissions pas mettre n'importe quelques nom dans cette fenêtre mais UNIQUEMENT les noms se trouvant dan l'onglet "Personnel" (actuellement , ils peuvent écrire n'importe quoi et cela fonctionne sauf que s'ils ne font de double clic le mouvement n'est pas enregistrer dans l'onglet "historique" et que cela doit aller obligatoirement dans l'historique).

Sans titre0 vote

Voici le code actuel créer par une autre personne car je n'y connais pas grand chose à ce niveau mais j'aurais besoin de votre savoir afin d'améliorer ce petit fichier.
Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  2.  If Not Intersect(Target, Range("C3:C50")) Is Nothing Then
  3.    Cancel = True
  4. 'Récupération des données de la ligne choisie
  5.    xDesigna = Cells(Target.Row, "A")
  6.    xReferen = Cells(Target.Row, "B")
  7.    xNomAjus = Cells(Target.Row, "C")
  8.    xDatePre = Cells(Target.Row, "D")
  9.    xManquan = Cells(Target.Row, "F")
  10.    xStatut = Cells(Target.Row, "E")
  11. 'Test si un ajusteur est déja indiqué
  12.    If xNomAjus <> Empty Then
  13.      xMess = Empty
  14.      xMess = xMess & "L'ajusteur " & xNomAjus & " est déjà indiqué" & Chr(13)
  15.      xMess = xMess & "Cela veut-il dire qu'il à rendu le matériel" & Chr(13) & Chr(13)
  16.      xMess = xMess & " - Si OUI, matériel rendu, donc effacement des données" & Chr(13)
  17.      xMess = xMess & " - Si NON, erreur de ligne" & Chr(13)
  18.      xRep = MsgBox(xMess, vbQuestion + vbYesNo, "TOTO")
  19.      If xRep = vbYes Then
  20.        Cells(Target.Row, "C") = Empty
  21.        Cells(Target.Row, "D") = Empty
  22.        xStatut = "Rendu"
  23.        Cells(Target.Row, "E") = ""
  24.        GoTo EnregistreHistorique
  25.      Else
  26.        Exit Sub
  27.      End If
  28.    Else
  29.      xNomAjus = InputBox("Nom de l'ajusteur", "AJUSTEUR")
  30.      Cells(Target.Row, "C") = xNomAjus
  31.      Cells(Target.Row, "D") = Now
  32.      xDatePre = Cells(Target.Row, "D")
  33.      xStatut = "Emprunté"
  34.      Cells(Target.Row, "E") = xStatut
  35.    End If
  36.    EnregistreHistorique:
  37.      With Sheets("HistoriquePrêt")
  38.        xDerLig = .Range("A65536").End(xlUp).Row
  39.        xNewlig = xDerLig + 1
  40.        .Cells(xNewlig, "A") = xDesigna 'Désignation
  41.        .Cells(xNewlig, "B") = xReferen 'Référence
  42.        .Cells(xNewlig, "C") = xNomAjus 'Nom ajusteur
  43.        .Cells(xNewlig, "D") = Now 'Date pret
  44.        .Cells(xNewlig, "F") = xManquan 'Manquant
  45.        .Cells(xNewlig, "E") = xStatut 'Statut
  46.      End With
  47.  End If
  48. End Sub

J'espère avoir été assez clair dans mes explications et je vous remercie par avance de votre aide.
Bonne journée

Edit par Tintin10 : rajout des balises de code
Message édité par Tintin10 le 14/03/2017 à 19:39:10
willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 13/03/2017 à 11:17:50  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bjr,

le plus simple serait de déposer ton fichier sur le site
http://cjoint.com/index.php

et nous deposer le lien donné sur le forum pour que l'on pusse t'aider.

 :hello:


---------------
[:ahlefoufou] Merci de sauver les chats abandonnés en aidant cette association : [:tazounet:5]
- Pension MillePattes
(Publicité)
xaviermagdelaine
  1. Posté le 13/03/2017 à 11:34:58  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour willyplaisir je te remercie de prendre de ton temps pour me dépatouiller .
Voici le lien du fichier
http://www.cjoint.com/doc/17_0 [...] seur1.xlsm

xaviermagdelaine
  1. Posté le 14/03/2017 à 08:20:35  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour à tous,
Merci à tous pour votre aide, mon problème est résolu.
Je vous souhaite une bonne journée.

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 14/03/2017 à 10:33:54  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bonjour xavier,

content pour toi, voici ce que javais fait
http://www.cjoint.com/c/GCojHk​3ZQUW

 :hello:
pense à mettre Résolu à ton 1er post
Message édité par willyplaisir le 14/03/2017 à 10:43:37

---------------
[:ahlefoufou] Merci de sauver les chats abandonnés en aidant cette association : [:tazounet:5]
- Pension MillePattes
(Publicité)
 Page :
1

Aller à :
 

Sujets relatifs
Macro tableau lent macro désactivée
Macro pour interdire l'actualisation d'une date et heure Astuce dans macro Excel
W8 + Chrome: fenêtre vidéo réduite...+ compte Crosoft' obligatoire... Annuler dans InPutBox en VBA Excel
EXCEL - trier une liste avec des images insérées  
Plus de sujets relatifs à : macro avec inputbox et liste obligatoire

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
Calculer des centiles de salaires selon l'âge 2
Ouverture Excel 2010 2
Macro tableau lent 4
bouton parcourir bloque 3
Pilote média manquant 0