Formulaire - visualiser les données

Résolu/Fermé
mcou - 24 juil. 2012 à 16:01
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 26 juil. 2012 à 09:53
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

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
24 juil. 2012 à 16:35
Bonjour,

Je suppose que tu as déjà fait ton formulaire et ton fichier... Peux tu nous le transmettre?
0
le voici : http://cjoint.com/?0GyqMQ8ifFe
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
24 juil. 2012 à 16:45
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 juil. 2012 à 09:17
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 juil. 2012 à 10:48
Ouaip!
Change :
Sub RempliTextbox(ByVal Cel As Range)
par
Sub RempliTextbox(ByRef Cel As Range)
0
Je viens d'effectuer le changement.
Cela me met toujours l'erreur d'argument byref incompatible...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 juil. 2012 à 14:44
Peux tu m'envoyer le fichier qui ^pose problème? Celui avec textbox et tout...
Ne fais pas attention, pikachu est un plaisantin ...
0
Ben le fichier dont tu parles est celui que je t'ai envoyé. Pour toi cela fonctionne-t-il ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 25/07/2012 à 14:57
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
j'ai donné la derni-ère version. excuse moi

la bonne version : http://cjoint.com/?0GzpazxACgL
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 25/07/2012 à 15:09
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
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