Question bete

S

Solene

Guest
Bonjour à tous,

Allons y sans plus tarder, voila ma question (niveau poussin - mais là je galère) :

J'ai un fichier xls, appellons le "Clients" dans lequel je rentre en colonne les noms de clients (colonne Noms)
Je souhaiterai pouvoir afficher directement après saisie du nom, l'adresse complète de ce client qui se trouve dans un autre fichier ("Adresses").

Adresses =
(Colonne1 = Nom, Colonne2=Adresse1, Colonne3= Adresse2)
DEPARDIEU Rue de la vinasse 51487 Saint Sulpice
CLAVIER 3 rue des visiteurs 75147 Paris

(C'est en quelque sorte la base des données de référence)


Et moi , je voudrai, qu'en tapant "DEPARDIEU" dans la premiere colonne de mon fichier "clients", Excel m'affiche directment l'adresse de notre star nationale sur les champs correspondants (toujours dans le fichier CLIENTS). Est-ce possible ?

Clients =
(Colonne1 = Nom, Colonne2=Adresse1, Colonne3= Adresse2)


Merci d'avance.
 
V

Vériland

Guest
Re: => DEMO UserForm Gestion de Bases de Données Séparées (différents classeurs)

hi hi hi Céléda...
smiles_33.gif
...les gros bras.....

par contre moi, je vois que le programme GRETETAS 0.99 alpha1 il est..................BIDON.................

et l'image reflète bien ce que j'pense...justement ils ont raison de taper dessus avec leur gros bras...loool

Bonne journée

A+Veriland.gif
 
Y

yvan

Guest
bonjour à tous

suite à la démo de thierry qui est très utile et instructive comme d'habitude, j'ai utilisé sa méthode pour une application que je réalise.

tout fonctionne bien, jusqu'à la réinitialisation du USF.
après avoir validé une saisie, je ferme l'USF et l'ouvre de nouveau pour que les modifications soient prises en compte.

Unload Me
UsrLoc.Show

et j'ai un message d'erreur : "L'indice n'appartient pas à la sélection." sur la ligne

Set WB = Workbooks(Base)

du UserForm_Initialize()

je n'arrive pas à trouver pourquoi.

merci pour vos réponses
 
@

@+Thierry

Guest
Salut Yvan, le Fil, le Forum


As-tu penser :

1) à déclarer Base en Module Standard "Public Base As String"

2) à initialiser Base ?
exemple de ma démo :

Private Sub OptionButton1_Click()
Base = "Base1.xls"
LaBaseDepart
End Sub
Private Sub OptionButton2_Click()
Base = "Base2.xls"
LaBaseDepart
End Sub

Ce doit être par là ton problème

Bonne Nuit
@+Thierry
 
Y

yvan

Guest
salut thierry et le forum

j'ai bien déclarer Base en module standard.

et j'initialise Base :

Private Sub SLoc_Click()
Dim Chemin As String
Chemin = ActiveWorkbook.Path & "\"
Base = "Base de donnees.xls"
Workbooks.Open Chemin & Base
Windows(Base).Visible = False
UsrLoc.Show
End Sub

lors du 1er affichage, tout fonctionne correctement. le USF s'affiche avec les bonnes valeurs et c'est après avoir validé la saisie, lorsque je veux réafficher le USF avec les nouvelles données que le problème intervient.

en mettant un point d'arret sur la ligne
Set WB = Workbooks(Base)
la variable Base contient la valeur d'initialisation.

je suis parti de ta démo USF_ThierrysContact.xls pour fairre un USF dans mon application et je voulais que ma base de données soit dans un autre classeur. j'ai donc utilisé ta démo USF_Gestion_BaseDeDonnees_Distantes.xls.

je viens aussi de remarquer que le problème est identhique si on clique sur le bouton reinitialisation de la démo USF_ThierrysContact.xls.

j'espère que tu as compris mon explication, sinon je peux te donner d'autres renseignements si tu le désire.

merci d'avance
 
@

@+Thierry

Guest
Bonjour Yvan, le Forum


Difficile de te répondre, il est probable déjà que tu aies zappé un truc...

Il est primordial que ces 3 conditions soient remplies :

1) Déclaration la Variable String "base" doit être déclarée Publiquement dans un Module standard et au TOP de celui-ci.......... "Public Base As String"

2) Initialisation la Variable "base" doit être initialisée par un évènement antérieur au set d'ojbjet Workbook " Set WB = Workbooks(Base)

3) Déclaration la Variable Objet "WB" doit être déclarée dans le TOP module du private module (si tu n'en as besoin que dans un seul UserForm) ou Publique comme pour "base"... si c'est sur plusieurs USF...

Ensuite "SLoc" c'est un Option Button ? , je suppose dans un UserForm1 qui lance le Userform2 (UsrLoc).... Lequel fait le Set de "WB" ?

En fait il faudrait voir un peu plus que ce que tu nous donnes là...

En ce qui concerne la démo "USF_ThierrysContact.xls", je viens encore de la faire tourner, de saisir dedans et de ré-initilaliser... RAS (Rien à signaler) je ne vois pas de problème.... (Si tu peux détailler...)

Quoique de toute facons je vais demander à David de permuter dans le Démo Pack I cette version Beta qui contient des imperfections par l'une des versions :

Contact Manager XLD versions II téléchargeables :

La version 2.01 (Assistance automatique de conception du message dans l'email auto)

La version 2.02 (Management des Accès à l'écriture sur la DataBase par PassWord)

Lien supprimé

Bonne Journée
@+Thierry
 
Y

yvan

Guest
salut thierry et le forum

pour éviter de trop longues explications, je joins les 2 fichiers de l'application.

le problème intervient si on réinitialise ou lors du réaffichage du USF après une maj.

il me semble avoir déclaré et initialisé les variables correctement.

j'espère que cela va te convenir pour résoudre ce petit problème.

merci d'avance.
 

Pièces jointes

  • bdd.zip
    49.4 KB · Affichages: 19
  • bdd.zip
    49.4 KB · Affichages: 18
  • bdd.zip
    49.4 KB · Affichages: 13
@

@+Thierry

Guest
ReBonjour Yvan, salut le Forum


Bon, voilà déjà des Bugs saisis à la volé, car je n'arrive pas à faire tourner ce UserForme même qu'une seule fois !! (lol)

SLocataires_Click > BUG Si fichier "Base de donnees.xls" déjà ouvert !!
FAIRE UN TEST (voilà celui de la démo si dessus :)

Dim Classeur As Workbook
For Each Classeur In Workbooks
If Classeur.Name = "Base1.xls" Or Classeur.Name = "Base2.xls" Then
Classeur.Close -1
End If
Next

ButNouveau_Click > BUG Si TxtNom n'est pas Enabled, la methode TxtNom.SetFocus plante
Et c'est comme ceci sur toutes les TexBox !!! toutes not enabled alors que tu envoies le Focus dessus !!
FAIRE UNE ANALYSE (Chronologie des évènements)

Enfin j'arrète là car il y a pas mal de boulot encore là dessus, mais ce qui est sur c'est que ta Base de Donnée s'ouvre à chaque fois de la manière dont tu as fais ! Il faut impérativement la refermer quand avant que tu ne réactives le Userform qui va l'ouvrir en mode Hidden...

Sinon dans les Démos de Contact Manager V2.01 ou V2.02 tu as aussi une méthode pour boucler sur les controls plutot que ces pavés interminables de :
With TxtPrenom
.Value = ""
.Enabled = False
End With

ou de :
LblLocat.BackColor = RGB(255, 255, 150)
LblColocat.BackColor = RGB(255, 255, 150)
Lblnumero.BackColor = RGB(255, 255, 150)
LblNom.BackColor = RGB(255, 255, 150)

... Je te conseille de regarder....

Bon Courage
@+Thierry
 
Y

yvan

Guest
salut thierry et le forum

le programme se plante car j'avais enlevé des lignes qui ne me semblaient pas très utiles (et bien la preuve que si) pour que le fichier joint ne dépasse pas les 50Ko.

j'ai modifié comme tu me l'as indiqué la maj des controls par la propriété Tag et cela a l'air de fonctionner.

j'ai mis le code d'ouverture de la base de données dans le Workbook_Open() pour éviter d'ouvrir et de fermer à chaque fois le fichier et je ferme la bdd dans le Workbook_BeforeClose.

les tests sont safisfaisants.

merci de ton aide et de tes conseils. tes démos me sont très utiles pour découvrir de nouvelles fonctionnalités.

a+ sur le forum
 
Y

yoyo91

Guest
ptte question

Bonjour à tous,
je recherche le moyen d'inscrire un N° de chronologie, pour me servir d'excel comme un logiciel de facturation.

Ce n° de facture me premettrais de savoir sans regarder les autres factures ou j'en suis dans mon chrono.

Merci pour votre aide
bonne journée.
 
@

@+Thierry

Guest
Bonjour Yoyo, les gens de ce Fil ancien, le Forum

Voici le "B.A.BA" d'un compteur en VBA :

Sub CompteurAuto()
Dim Compteur As Integer

Compteur = Sheets("Sheet1").Range("A1")
Compteur = Compteur + 1
Sheets("Sheet1").Range("A1") = Compteur

End Sub


Bon Après midi
@+Thierry
 

Statistiques des forums

Discussions
312 342
Messages
2 087 436
Membres
103 545
dernier inscrit
agent3