Formulaire - visualiser les données

Résolu
mcou -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'aimerais savoir s'il est possible à travers un formulaire de visualiser dans un espace "blanc" / une fenêtre permanente où je pourrais visualiser la référence des cellules (voir la ligne complète) que ma macro traite ?

Pour mieux me faire comprendre, mon formulaire consiste à faire le choix d'une vérification de données (sur une colonne ou sur une autre). Lorsque ma macro repère une erreur dans le format des données, je voudrais que dans la fenêtre de visualisation il y est d'inscrit l'adresse de ma cellule, sa ligne et sa colonne, sa valeur et les valeurs des cellules de la même ligne.

Est-ce possible techniquement ?
Si oui, avez-vous des pistes à me suggérer ?

Merci d'avance.

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Je suppose que tu as déjà fait ton formulaire et ton fichier... Peux tu nous le transmettre?
    0
    1. mcou
       
      le voici : http://cjoint.com/?0GyqMQ8ifFe
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bon je ne pourrais pas tester car j'ai une référence manquante dans mon excel...

    Ton formulaire, c'est bien UserForm2?
    tu veux y afficher qu'elles données? ou se trouvent ces données?
    0
    1. mcou
       
      Bonjour,

      Mon formulaire est bien le UserForm2.
      Dans la fenêtre "de visualisation" j'aimerais y afficher l'ensemble des cellules d'une même ligne (une ligne = une commande à traiter). J'aimerais y afficher au minimum, le montant, le code budget associé, son fournisseur et la date de livraison attendue.
      Qu'en pensez-vous ?
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bonjour,

      1- Je t'ai créé 6 TextBox dans le formulaire. Il se vident lors de l'initialisation de ton userform :

      2- je t'ai créé une sub pour les remplir (dans ton module formulaire) :
      Sub RempliTextbox(ByVal Cel As Range)
      TextBox1 = Cel.Address
      TextBox2 = Cel.Value
      TextBox3 = Cel.Offset(0, Cel.Column - Cel.Column + 7).Value
      TextBox4 = Cel.Offset(0, Cel.Column - Cel.Column + 6).Value
      TextBox5 = Cel.Offset(0, Cel.Column - Cel.Column + 4).Value
      TextBox6 = Cel.Offset(0, Cel.Column - Cel.Column + 8).Value
      Verification_ALL.Repaint
      End Sub

      Le remplissage se fait en fonction du Range envoyé en paramètre à la procédure (ByVal Cel As Range). Dans tous les cas, lorsque l'on appelle cette procédure, on passe en paramètre le range de la cellule en erreur.
      D'ou :
      > j'ai ajouté certains tests dans tes procédures du module Formulaire
      exemple : If IsDate(cell) = False Then
      pour pouvoir récupérer les Range des erreurs et les placer en paramètre comme ceci :
      Call RempliTextbox(cell)


      Par contre, je le répète, ne pouvant pas tester ton fichier, je ne sais pas du tout si cela fonctionne correctement. A toi de vérifier...
      Ton fichier modifié
      0
    3. mcou
       
      Bonjour,
      En effet, le paramètre ByVal Cel As Range rencontre des difficultés...
      On m'indique que le type d'arugement byref est incompatible...
      Savez-vous d'où peut provenir l'erreur ?
      0
    4. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Ouaip!
      Change :
      Sub RempliTextbox(ByVal Cel As Range)
      par
      Sub RempliTextbox(ByRef Cel As Range)
      0
    5. mcou
       
      Je viens d'effectuer le changement.
      Cela me met toujours l'erreur d'argument byref incompatible...
      0
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Peux tu m'envoyer le fichier qui ^pose problème? Celui avec textbox et tout...
    Ne fais pas attention, pikachu est un plaisantin ...
    0
    1. mcou
       
      Ben le fichier dont tu parles est celui que je t'ai envoyé. Pour toi cela fonctionne-t-il ?
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Non il n'y a aucun TextBox dans ton formulaire!
      Envoie moi le fichier qui affiche l'erreur signalée plus haut...

      S'il s'agit du bon fichier, ben... ça ne fonctionne pas parce que tu n'as pas placé de TextBox dans ton formulaire
      0
    3. mcou
       
      j'ai donné la derni-ère version. excuse moi

      la bonne version : http://cjoint.com/?0GzpazxACgL
      0
    4. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Remplace :

      Sub RempliTextbox()
      TextBox1 = cell.Address
      TextBox2 = cell.Value
      TextBox3 = cell.Offset(0, cell.Column - cell.Column + 7).Value
      TextBox4 = cell.Offset(0, cell.Column - cell.Column + 6).Value
      TextBox5 = cell.Offset(0, cell.Column - cell.Column + 4).Value
      TextBox6 = cell.Offset(0, cell.Column - cell.Column + 8).Value
      Verification_ALL.Repaint
      End Sub


      par :
      Sub RempliTextbox()
      Verification_ALL.TextBox1 = cell.Address
      Verification_ALL.TextBox2 = cell.Value
      Verification_ALL.TextBox3 = cell.Offset(0, cell.Column - cell.Column + 7).Value
      Verification_ALL.TextBox4 = cell.Offset(0, cell.Column - cell.Column + 6).Value
      Verification_ALL.TextBox5 = cell.Offset(0, cell.Column - cell.Column + 4).Value
      Verification_ALL.TextBox6 = cell.Offset(0, cell.Column - cell.Column + 8).Value
      Verification_ALL.Repaint
      End Sub
      0
    5. mcou
       
      Ouf cela fonctionne !
      Pour une partie....

      les lignes :
      TextBox3 = Cel.Offset(0, Cel.Column - Cel.Column + 7).Value
      TextBox4 = Cel.Offset(0, Cel.Column - Cel.Column + 6).Value
      TextBox5 = Cel.Offset(0, Cel.Column - Cel.Column + 4).Value
      TextBox6 = Cel.Offset(0, Cel.Column - Cel.Column + 8).Value

      n'affichent rien :/

      Je vais essayer de me débrouiller toute seule maintenant et je vous tiens au courant. Merci beaucoup de votre aide.
      0