-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-mêmed'abord. Ca commence par formuler correctement sa
question. Si tu vaslire la page connexion d'excelabo, tu comprendras
pourquoi les fichiersjoints sont vraiment la solution de facilité (au moins
c'est ce quecrois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais prisla peine d'expliquer ton problème avec des mots, sois
sur que plus de"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partieentre nous soit dit) se seraient penchés sur ton pb.
Là,
avec tadémarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, lesprobabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pasinterdit d'envoyer des fichiers en bal perso une fois
qu'un contributeurdu forum, se penchant sur ton pb t'en fait la demande
(pas avant). Maisla démarche minimum qui est demandée c'est d'expliquer
en quelques motsou réside le pb à résoudre. Tu imagines si chacun
postait un mail avecdans l'en tête "pb excel" ou "pb de macro"
ou "userform"
voire"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'unforum c'est que tout le monde puisse lire les questions
et profite desréponses. S'il faut aller pour chaque question
télécharger un fichier,l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moinsréactif. Si tu n'as trouvé d'aide sur aucun des
nombreux
forums que tudis avoir utilisé c'est quand même probablement que le
pb vient de lafaçon dont le pb est posé non ? Si c'était un truc
impossible à faire,genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...rien ne t'empêche de reprendre à 0 et d'expliquer ici
ce
qui coince eten quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulot
par quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
des
concours de saut d'obastacle bénévolement et j'essaye
deme "monter" un programme sous Excel pour m'aider
grace
àvotre aide à tous. Je suis d'ailleurs tout à fait
pret
àenvoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projetd'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pour
essayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
mepermettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'aid'ailleurs pas manqué de remercier (Désolé si j'ai
oubliéquelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
je
l'entendais pas du tout en tant que professionnels
maisen tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre etde faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à tefournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ceforum (ce ne sont pas des employés de microsoft comme
tu
as l'air de leconsidérer) de se démm... pour aller récupérer ton
problème parce quetoi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pourt'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'estloin d'être la règle !) et tu rales encore parce que
ce
n'est pas pilepoil ce que tu veux. Non content de cela, tu reviens
à
la charge enréclamant des pros !!! ben vas donc les chercher les
pros. Là où ilssont : dans des boites d'informatique probablement.
Mais
apprête toi àles payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plusaboutie mais j'attends toujours les "pro".
Merci-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'astu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
AsRange) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfaitqu'à 99,9% . En effet elle est assez lourde
puisque
poursortir du userform il faut cliquer sur masquer ou
sur
lacroix.
J'aurais souhaité que le Userform
soit "transparent"c'est à dire que pour le masquer il suffise de
déplacerle curseur par les touches de tabulations par
exemple
ouen tapant sur les flèches de déplacement du
curseur.
Pour moi le bouton Masquer n'a qu'une utilité
limitée.Nouvelle version du fichier corrigé accessible à:
Merci-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
quifera ce que tudemandes.
Amicalement
Sitting Hoax
"nicolas65"
a
écrit dans le message denews:2b9a501c46921$38e426d0$
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
deregarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898_
1
01
898..htm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-même
d'abord. Ca commence par formuler correctement sa
question. Si tu vas
lire la page connexion d'excelabo, tu comprendras
pourquoi les fichiers
joints sont vraiment la solution de facilité (au moins
c'est ce que
crois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais pris
la peine d'expliquer ton problème avec des mots, sois
sur que plus de
"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partie
entre nous soit dit) se seraient penchés sur ton pb.
Là,
avec ta
démarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, les
probabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pas
interdit d'envoyer des fichiers en bal perso une fois
qu'un contributeur
du forum, se penchant sur ton pb t'en fait la demande
(pas avant). Mais
la démarche minimum qui est demandée c'est d'expliquer
en quelques mots
ou réside le pb à résoudre. Tu imagines si chacun
postait un mail avec
dans l'en tête "pb excel" ou "pb de macro"
ou "userform"
voire
"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'un
forum c'est que tout le monde puisse lire les questions
et profite des
réponses. S'il faut aller pour chaque question
télécharger un fichier,
l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moins
réactif. Si tu n'as trouvé d'aide sur aucun des
nombreux
forums que tu
dis avoir utilisé c'est quand même probablement que le
pb vient de la
façon dont le pb est posé non ? Si c'était un truc
impossible à faire,
genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...
rien ne t'empêche de reprendre à 0 et d'expliquer ici
ce
qui coince et
en quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:
Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulot
par quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
des
concours de saut d'obastacle bénévolement et j'essaye
de
me "monter" un programme sous Excel pour m'aider
grace
à
votre aide à tous. Je suis d'ailleurs tout à fait
pret
à
envoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projet
d'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pour
essayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
me
permettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'ai
d'ailleurs pas manqué de remercier (Désolé si j'ai
oublié
quelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
je
l'entendais pas du tout en tant que professionnels
mais
en tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé
-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre et
de faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à te
fournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ce
forum (ce ne sont pas des employés de microsoft comme
tu
as l'air de le
considérer) de se démm... pour aller récupérer ton
problème parce que
toi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pour
t'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'est
loin d'être la règle !) et tu rales encore parce que
ce
n'est pas pile
poil ce que tu veux. Non content de cela, tu reviens
à
la charge en
réclamant des pros !!! ben vas donc les chercher les
pros. Là où ils
sont : dans des boites d'informatique probablement.
Mais
apprête toi à
les payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:
Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plus
aboutie mais j'attends toujours les "pro".
Merci
-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'as
tu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
As
Range) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value
= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage
-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfait
qu'à 99,9% . En effet elle est assez lourde
puisque
pour
sortir du userform il faut cliquer sur masquer ou
sur
la
croix.
J'aurais souhaité que le Userform
soit "transparent"
c'est à dire que pour le masquer il suffise de
déplacer
le curseur par les touches de tabulations par
exemple
ou
en tapant sur les flèches de déplacement du
curseur.
Pour moi le bouton Masquer n'a qu'une utilité
limitée.
Nouvelle version du fichier corrigé accessible à:
Merci
-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
qui
fera ce que tu
demandes.
Amicalement
Sitting Hoax
"nicolas65" <anonymous@discussions.microsoft.com>
a
écrit dans le message de
news:2b9a501c46921$38e426d0$a601280a@phx.gbl...
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
de
regarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898_
1
01
89
8
..
h
tm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-mêmed'abord. Ca commence par formuler correctement sa
question. Si tu vaslire la page connexion d'excelabo, tu comprendras
pourquoi les fichiersjoints sont vraiment la solution de facilité (au moins
c'est ce quecrois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais prisla peine d'expliquer ton problème avec des mots, sois
sur que plus de"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partieentre nous soit dit) se seraient penchés sur ton pb.
Là,
avec tadémarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, lesprobabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pasinterdit d'envoyer des fichiers en bal perso une fois
qu'un contributeurdu forum, se penchant sur ton pb t'en fait la demande
(pas avant). Maisla démarche minimum qui est demandée c'est d'expliquer
en quelques motsou réside le pb à résoudre. Tu imagines si chacun
postait un mail avecdans l'en tête "pb excel" ou "pb de macro"
ou "userform"
voire"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'unforum c'est que tout le monde puisse lire les questions
et profite desréponses. S'il faut aller pour chaque question
télécharger un fichier,l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moinsréactif. Si tu n'as trouvé d'aide sur aucun des
nombreux
forums que tudis avoir utilisé c'est quand même probablement que le
pb vient de lafaçon dont le pb est posé non ? Si c'était un truc
impossible à faire,genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...rien ne t'empêche de reprendre à 0 et d'expliquer ici
ce
qui coince eten quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulot
par quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
des
concours de saut d'obastacle bénévolement et j'essaye
deme "monter" un programme sous Excel pour m'aider
grace
àvotre aide à tous. Je suis d'ailleurs tout à fait
pret
àenvoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projetd'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pour
essayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
mepermettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'aid'ailleurs pas manqué de remercier (Désolé si j'ai
oubliéquelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
je
l'entendais pas du tout en tant que professionnels
maisen tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre etde faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à tefournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ceforum (ce ne sont pas des employés de microsoft comme
tu
as l'air de leconsidérer) de se démm... pour aller récupérer ton
problème parce quetoi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pourt'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'estloin d'être la règle !) et tu rales encore parce que
ce
n'est pas pilepoil ce que tu veux. Non content de cela, tu reviens
à
la charge enréclamant des pros !!! ben vas donc les chercher les
pros. Là où ilssont : dans des boites d'informatique probablement.
Mais
apprête toi àles payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plusaboutie mais j'attends toujours les "pro".
Merci-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'astu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
AsRange) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfaitqu'à 99,9% . En effet elle est assez lourde
puisque
poursortir du userform il faut cliquer sur masquer ou
sur
lacroix.
J'aurais souhaité que le Userform
soit "transparent"c'est à dire que pour le masquer il suffise de
déplacerle curseur par les touches de tabulations par
exemple
ouen tapant sur les flèches de déplacement du
curseur.
Pour moi le bouton Masquer n'a qu'une utilité
limitée.Nouvelle version du fichier corrigé accessible à:
Merci-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
quifera ce que tudemandes.
Amicalement
Sitting Hoax
"nicolas65"
a
écrit dans le message denews:2b9a501c46921$38e426d0$
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
deregarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898_
1
01
898..htm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
-----Message d'origine-----
Nicolas, (devenu anonyme ?)
Envoie trop rapide
Je sélectionne une cellule de la colonne B de la
feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la
basesi non il affiche cheval inconnu.
Ca, tu dois l'avoir sur les fichiers proposes par JP,
Laurent ou le mien, non ?
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
La solution que je t'ai donnee ne te convient pas ?
Pas réussie à mettre en place
J'essayeais d'apter la solution que vous voudrez bien
me
donner pour la colonne cavaliers
C'est nouveau ca, what is the matter ?
Je voulais montrez à misange que je ne vous solliciter
Quant au mot "PRO", je suis desole d'avoir declenche ce
feu d'artifice en le lachant imrudemment ici (c'etait
sous forme de boutade), il concernait le probleme de
garder les touches Tab, fleches de direction actives
lorsque'un UserForm est affiche.
bon courage,
J-Dan
.
-----Message d'origine-----
Nicolas, (devenu anonyme ?)
Envoie trop rapide
Je sélectionne une cellule de la colonne B de la
feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la
base
si non il affiche cheval inconnu.
Ca, tu dois l'avoir sur les fichiers proposes par JP,
Laurent ou le mien, non ?
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
La solution que je t'ai donnee ne te convient pas ?
Pas réussie à mettre en place
J'essayeais d'apter la solution que vous voudrez bien
me
donner pour la colonne cavaliers
C'est nouveau ca, what is the matter ?
Je voulais montrez à misange que je ne vous solliciter
Quant au mot "PRO", je suis desole d'avoir declenche ce
feu d'artifice en le lachant imrudemment ici (c'etait
sous forme de boutade), il concernait le probleme de
garder les touches Tab, fleches de direction actives
lorsque'un UserForm est affiche.
bon courage,
J-Dan
.
-----Message d'origine-----
Nicolas, (devenu anonyme ?)
Envoie trop rapide
Je sélectionne une cellule de la colonne B de la
feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la
basesi non il affiche cheval inconnu.
Ca, tu dois l'avoir sur les fichiers proposes par JP,
Laurent ou le mien, non ?
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
La solution que je t'ai donnee ne te convient pas ?
Pas réussie à mettre en place
J'essayeais d'apter la solution que vous voudrez bien
me
donner pour la colonne cavaliers
C'est nouveau ca, what is the matter ?
Je voulais montrez à misange que je ne vous solliciter
Quant au mot "PRO", je suis desole d'avoir declenche ce
feu d'artifice en le lachant imrudemment ici (c'etait
sous forme de boutade), il concernait le probleme de
garder les touches Tab, fleches de direction actives
lorsque'un UserForm est affiche.
bon courage,
J-Dan
.
-----Message d'origine-----
Bonjour Nicolas65,
Tu peux t'amuser avec ceci :
Tout ce qui suit est à copier dans la feuille module où
l'action se déroule. Un clic droit sur l'onglet de la
visualiser le code / et dans la feuille blanche ceci :
3 événements de la feuille sont utilisés
A ) Worksheet_Activate
- Ouverture d'une connection entre le fichier
actuel et ta base de données
- charge le recordset de ta base de données en
mémoire
B ) Worksheet_SelectionChange
-A chaque fois que tu cliqueras dans la colonne
B:B, le contenu de la cellule sélectionnée sera
le recordset en mémoire, si l'information s'y trouve,
(j'ai supposé que tu n'avais pas de doublons sur les noms
cheveaux dans ta base de données) , l'information sera
copiée à la suite des données de la feuil2 de ton
Si tu préfères le tout dans un formulaire :
Userform1.Show
For A = 1 To Nb
'En prenant pour acquis que tu as autant
de textbox que de champs dans ta base de données
'le nom de tes textbox sont de 1 ... au
nombre de champs
Controls("Textbox" & cstr(a) = Rst(A - 1)
Next
C )Worksheet_Deactivate
- Vide le recordset
D ) Tu dois ajouter à ton projet la bibliothèque
suivante :
"Microsoft Activex Data Object 2.0 Librairy"
'Déclaration Variable : Haut du module Feuille
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
'--------------------------------------------
Private Sub Worksheet_Activate()
Dim Requete As String, NomFeuille As String
Dim file As String, Chemin As String
'*********Variable à définir**************
NomFeuille = "Feuil1" 'A déterminer
Chemin = "C:excel" 'à déterminer
file = "Données"
'*****************************************
'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$] "
'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Ouverture d'un recordset
Rst.Open Requete, Conn, adOpenForwardOnly,
adLockOptimistic
End Sub
'--------------------------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim A As Integer, Nb As Integer, Rg As Range
If Target.Column = Range("B1").Column Then
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
If Rst.EOF Then
MsgBox "Aucun cheval trouvé!"
Rst.MoveFirst
Else
'déterminer où l'information sera copiée
With Worksheets("Feuil2")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range
("A65356").End(xlUp).Row)(2)
End If
End With
'déterminer le nombre de champs du recordset
Nb = Rst.Fields.Count
For A = 1 To Nb
Rg.Offset(, A - 1) = Rst(A - 1)
Next
End If
End If
'--------------------------------------------
Salutations!
"nicolas65" a
écrit dans le message de
news:2d96701c46a6d$2176cd70$
Re(Bonjour)
Veuillez excuser le doublon mais le message est partit
trop vite. Je le reprend donc en entier.
Je n'ai pas demandé de me faire intégralement le
programme. J'ai adapté un certains nombres de formules et
j'ai fait une grande partie de la mise en page en
fonction de mes connaissances.
Je reprends donc mon problème.
J'aimerais si possible que lorsque je sélectionne une
cellule ( en cliquant ou en me déplacant dessus) afficher
des infos contenues dans un autre fichier excel ou dans
le même sur une autre feuille.
Je sélectionne une cellule de la colonne B de la feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la base
si non il affiche cheval inconnu. Ce fichier (si on prend
la solution du fichier) sera enregistré dans le
Répertoire Mes Documents Sous Répertoire Equitation.
Le fichier Base chevaux (ou la feuille) aura la structure
suivante:
Colonne A Cheval
Colonne B Sexe
Colonne C Robe
Colonne B Age
Colonne C Race
Colonne D Gains
Colonne E Naisseur
Colonne F Propriétaire
Colonne G Père
Colonne H Race père
Colonne I Mère
Colonne J Race mère
Colonne K Père de la Mère
Colonne L Race père de mère
Colonne M Département naissance
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
Mes faibles connaisances en VBA ne me permettent pas de
faire ça.
J'essayerais d'apter la solution que vous voudrez bien me
donner pour la colonne cavaliers et me propose d'envoyer
le fichier à toute personne désirant m'aider
D'avance Merci-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-mêmed'abord. Ca commence par formuler correctement sa
question. Si tu vaslire la page connexion d'excelabo, tu comprendras
pourquoi les fichiersjoints sont vraiment la solution de facilité (au moins
c'est ce quecrois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais prisla peine d'expliquer ton problème avec des mots, sois
sur que plus de"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partieentre nous soit dit) se seraient penchés sur ton pb.
Là,avec tadémarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, lesprobabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pasinterdit d'envoyer des fichiers en bal perso une fois
qu'un contributeurdu forum, se penchant sur ton pb t'en fait la demande
(pas avant). Maisla démarche minimum qui est demandée c'est d'expliquer
en quelques motsou réside le pb à résoudre. Tu imagines si chacun
postait un mail avecdans l'en tête "pb excel" ou "pb de macro"
ou "userform"voire"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'unforum c'est que tout le monde puisse lire les questions
et profite desréponses. S'il faut aller pour chaque question
télécharger un fichier,l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moinsréactif. Si tu n'as trouvé d'aide sur aucun des
nombreuxforums que tudis avoir utilisé c'est quand même probablement que le
pb vient de lafaçon dont le pb est posé non ? Si c'était un truc
impossible à faire,genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...rien ne t'empêche de reprendre à 0 et d'expliquer ici
cequi coince eten quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulotpar quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
desconcours de saut d'obastacle bénévolement et j'essaye
deme "monter" un programme sous Excel pour m'aider
graceàvotre aide à tous. Je suis d'ailleurs tout à fait
pretàenvoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projetd'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pouressayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
mepermettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'aid'ailleurs pas manqué de remercier (Désolé si j'ai
oubliéquelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
jel'entendais pas du tout en tant que professionnels
maisen tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre etde faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à tefournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ceforum (ce ne sont pas des employés de microsoft comme
tu
as l'air de leconsidérer) de se démm... pour aller récupérer ton
problème parce quetoi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pourt'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'estloin d'être la règle !) et tu rales encore parce que
ce
n'est pas pilepoil ce que tu veux. Non content de cela, tu reviens
à
la charge enréclamant des pros !!! ben vas donc les chercher les
pros. Là où ilssont : dans des boites d'informatique probablement.
Mais
apprête toi àles payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plusaboutie mais j'attends toujours les "pro".
Merci-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'astu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
AsRange) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfaitqu'à 99,9% . En effet elle est assez lourde
puisque
poursortir du userform il faut cliquer sur masquer ou
sur
lacroix.
J'aurais souhaité que le Userform
soit "transparent"c'est à dire que pour le masquer il suffise de
déplacerle curseur par les touches de tabulations par
exemple
ouen tapant sur les flèches de déplacement du
curseur.Pour moi le bouton Masquer n'a qu'une utilité
limitée.Nouvelle version du fichier corrigé accessible à:
Merci-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
quifera ce que tudemandes.
Amicalement
Sitting Hoax
"nicolas65"
a
écrit dans le message denews:2b9a501c46921$38e426d0$
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
deregarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898
_
101
898..htm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
.
-----Message d'origine-----
Bonjour Nicolas65,
Tu peux t'amuser avec ceci :
Tout ce qui suit est à copier dans la feuille module où
l'action se déroule. Un clic droit sur l'onglet de la
visualiser le code / et dans la feuille blanche ceci :
3 événements de la feuille sont utilisés
A ) Worksheet_Activate
- Ouverture d'une connection entre le fichier
actuel et ta base de données
- charge le recordset de ta base de données en
mémoire
B ) Worksheet_SelectionChange
-A chaque fois que tu cliqueras dans la colonne
B:B, le contenu de la cellule sélectionnée sera
le recordset en mémoire, si l'information s'y trouve,
(j'ai supposé que tu n'avais pas de doublons sur les noms
cheveaux dans ta base de données) , l'information sera
copiée à la suite des données de la feuil2 de ton
Si tu préfères le tout dans un formulaire :
Userform1.Show
For A = 1 To Nb
'En prenant pour acquis que tu as autant
de textbox que de champs dans ta base de données
'le nom de tes textbox sont de 1 ... au
nombre de champs
Controls("Textbox" & cstr(a) = Rst(A - 1)
Next
C )Worksheet_Deactivate
- Vide le recordset
D ) Tu dois ajouter à ton projet la bibliothèque
suivante :
"Microsoft Activex Data Object 2.0 Librairy"
'Déclaration Variable : Haut du module Feuille
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
'--------------------------------------------
Private Sub Worksheet_Activate()
Dim Requete As String, NomFeuille As String
Dim file As String, Chemin As String
'*********Variable à définir**************
NomFeuille = "Feuil1" 'A déterminer
Chemin = "C:excel" 'à déterminer
file = "Données"
'*****************************************
'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$] "
'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Ouverture d'un recordset
Rst.Open Requete, Conn, adOpenForwardOnly,
adLockOptimistic
End Sub
'--------------------------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim A As Integer, Nb As Integer, Rg As Range
If Target.Column = Range("B1").Column Then
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
If Rst.EOF Then
MsgBox "Aucun cheval trouvé!"
Rst.MoveFirst
Else
'déterminer où l'information sera copiée
With Worksheets("Feuil2")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range
("A65356").End(xlUp).Row)(2)
End If
End With
'déterminer le nombre de champs du recordset
Nb = Rst.Fields.Count
For A = 1 To Nb
Rg.Offset(, A - 1) = Rst(A - 1)
Next
End If
End If
'--------------------------------------------
Salutations!
"nicolas65" <anonymous@discussions.microsoft.com> a
écrit dans le message de
news:2d96701c46a6d$2176cd70$a501280a@phx.gbl...
Re(Bonjour)
Veuillez excuser le doublon mais le message est partit
trop vite. Je le reprend donc en entier.
Je n'ai pas demandé de me faire intégralement le
programme. J'ai adapté un certains nombres de formules et
j'ai fait une grande partie de la mise en page en
fonction de mes connaissances.
Je reprends donc mon problème.
J'aimerais si possible que lorsque je sélectionne une
cellule ( en cliquant ou en me déplacant dessus) afficher
des infos contenues dans un autre fichier excel ou dans
le même sur une autre feuille.
Je sélectionne une cellule de la colonne B de la feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la base
si non il affiche cheval inconnu. Ce fichier (si on prend
la solution du fichier) sera enregistré dans le
Répertoire Mes Documents Sous Répertoire Equitation.
Le fichier Base chevaux (ou la feuille) aura la structure
suivante:
Colonne A Cheval
Colonne B Sexe
Colonne C Robe
Colonne B Age
Colonne C Race
Colonne D Gains
Colonne E Naisseur
Colonne F Propriétaire
Colonne G Père
Colonne H Race père
Colonne I Mère
Colonne J Race mère
Colonne K Père de la Mère
Colonne L Race père de mère
Colonne M Département naissance
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
Mes faibles connaisances en VBA ne me permettent pas de
faire ça.
J'essayerais d'apter la solution que vous voudrez bien me
donner pour la colonne cavaliers et me propose d'envoyer
le fichier à toute personne désirant m'aider
D'avance Merci
-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-même
d'abord. Ca commence par formuler correctement sa
question. Si tu vas
lire la page connexion d'excelabo, tu comprendras
pourquoi les fichiers
joints sont vraiment la solution de facilité (au moins
c'est ce que
crois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais pris
la peine d'expliquer ton problème avec des mots, sois
sur que plus de
"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partie
entre nous soit dit) se seraient penchés sur ton pb.
Là,
avec ta
démarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, les
probabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pas
interdit d'envoyer des fichiers en bal perso une fois
qu'un contributeur
du forum, se penchant sur ton pb t'en fait la demande
(pas avant). Mais
la démarche minimum qui est demandée c'est d'expliquer
en quelques mots
ou réside le pb à résoudre. Tu imagines si chacun
postait un mail avec
dans l'en tête "pb excel" ou "pb de macro"
ou "userform"
voire
"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'un
forum c'est que tout le monde puisse lire les questions
et profite des
réponses. S'il faut aller pour chaque question
télécharger un fichier,
l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moins
réactif. Si tu n'as trouvé d'aide sur aucun des
nombreux
forums que tu
dis avoir utilisé c'est quand même probablement que le
pb vient de la
façon dont le pb est posé non ? Si c'était un truc
impossible à faire,
genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...
rien ne t'empêche de reprendre à 0 et d'expliquer ici
ce
qui coince et
en quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:
Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulot
par quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
des
concours de saut d'obastacle bénévolement et j'essaye
de
me "monter" un programme sous Excel pour m'aider
grace
à
votre aide à tous. Je suis d'ailleurs tout à fait
pret
à
envoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projet
d'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pour
essayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
me
permettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'ai
d'ailleurs pas manqué de remercier (Désolé si j'ai
oublié
quelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
je
l'entendais pas du tout en tant que professionnels
mais
en tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé
-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre et
de faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à te
fournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ce
forum (ce ne sont pas des employés de microsoft comme
tu
as l'air de le
considérer) de se démm... pour aller récupérer ton
problème parce que
toi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pour
t'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'est
loin d'être la règle !) et tu rales encore parce que
ce
n'est pas pile
poil ce que tu veux. Non content de cela, tu reviens
à
la charge en
réclamant des pros !!! ben vas donc les chercher les
pros. Là où ils
sont : dans des boites d'informatique probablement.
Mais
apprête toi à
les payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:
Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plus
aboutie mais j'attends toujours les "pro".
Merci
-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'as
tu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
As
Range) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value
= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage
-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfait
qu'à 99,9% . En effet elle est assez lourde
puisque
pour
sortir du userform il faut cliquer sur masquer ou
sur
la
croix.
J'aurais souhaité que le Userform
soit "transparent"
c'est à dire que pour le masquer il suffise de
déplacer
le curseur par les touches de tabulations par
exemple
ou
en tapant sur les flèches de déplacement du
curseur.
Pour moi le bouton Masquer n'a qu'une utilité
limitée.
Nouvelle version du fichier corrigé accessible à:
Merci
-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
qui
fera ce que tu
demandes.
Amicalement
Sitting Hoax
"nicolas65" <anonymous@discussions.microsoft.com>
a
écrit dans le message de
news:2b9a501c46921$38e426d0$a601280a@phx.gbl...
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
de
regarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898
_
1
01
89
8
..
h
tm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
.
-----Message d'origine-----
Bonjour Nicolas65,
Tu peux t'amuser avec ceci :
Tout ce qui suit est à copier dans la feuille module où
l'action se déroule. Un clic droit sur l'onglet de la
visualiser le code / et dans la feuille blanche ceci :
3 événements de la feuille sont utilisés
A ) Worksheet_Activate
- Ouverture d'une connection entre le fichier
actuel et ta base de données
- charge le recordset de ta base de données en
mémoire
B ) Worksheet_SelectionChange
-A chaque fois que tu cliqueras dans la colonne
B:B, le contenu de la cellule sélectionnée sera
le recordset en mémoire, si l'information s'y trouve,
(j'ai supposé que tu n'avais pas de doublons sur les noms
cheveaux dans ta base de données) , l'information sera
copiée à la suite des données de la feuil2 de ton
Si tu préfères le tout dans un formulaire :
Userform1.Show
For A = 1 To Nb
'En prenant pour acquis que tu as autant
de textbox que de champs dans ta base de données
'le nom de tes textbox sont de 1 ... au
nombre de champs
Controls("Textbox" & cstr(a) = Rst(A - 1)
Next
C )Worksheet_Deactivate
- Vide le recordset
D ) Tu dois ajouter à ton projet la bibliothèque
suivante :
"Microsoft Activex Data Object 2.0 Librairy"
'Déclaration Variable : Haut du module Feuille
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
'--------------------------------------------
Private Sub Worksheet_Activate()
Dim Requete As String, NomFeuille As String
Dim file As String, Chemin As String
'*********Variable à définir**************
NomFeuille = "Feuil1" 'A déterminer
Chemin = "C:excel" 'à déterminer
file = "Données"
'*****************************************
'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$] "
'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Ouverture d'un recordset
Rst.Open Requete, Conn, adOpenForwardOnly,
adLockOptimistic
End Sub
'--------------------------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim A As Integer, Nb As Integer, Rg As Range
If Target.Column = Range("B1").Column Then
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
If Rst.EOF Then
MsgBox "Aucun cheval trouvé!"
Rst.MoveFirst
Else
'déterminer où l'information sera copiée
With Worksheets("Feuil2")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range
("A65356").End(xlUp).Row)(2)
End If
End With
'déterminer le nombre de champs du recordset
Nb = Rst.Fields.Count
For A = 1 To Nb
Rg.Offset(, A - 1) = Rst(A - 1)
Next
End If
End If
'--------------------------------------------
Salutations!
"nicolas65" a
écrit dans le message de
news:2d96701c46a6d$2176cd70$
Re(Bonjour)
Veuillez excuser le doublon mais le message est partit
trop vite. Je le reprend donc en entier.
Je n'ai pas demandé de me faire intégralement le
programme. J'ai adapté un certains nombres de formules et
j'ai fait une grande partie de la mise en page en
fonction de mes connaissances.
Je reprends donc mon problème.
J'aimerais si possible que lorsque je sélectionne une
cellule ( en cliquant ou en me déplacant dessus) afficher
des infos contenues dans un autre fichier excel ou dans
le même sur une autre feuille.
Je sélectionne une cellule de la colonne B de la feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la base
si non il affiche cheval inconnu. Ce fichier (si on prend
la solution du fichier) sera enregistré dans le
Répertoire Mes Documents Sous Répertoire Equitation.
Le fichier Base chevaux (ou la feuille) aura la structure
suivante:
Colonne A Cheval
Colonne B Sexe
Colonne C Robe
Colonne B Age
Colonne C Race
Colonne D Gains
Colonne E Naisseur
Colonne F Propriétaire
Colonne G Père
Colonne H Race père
Colonne I Mère
Colonne J Race mère
Colonne K Père de la Mère
Colonne L Race père de mère
Colonne M Département naissance
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
Mes faibles connaisances en VBA ne me permettent pas de
faire ça.
J'essayerais d'apter la solution que vous voudrez bien me
donner pour la colonne cavaliers et me propose d'envoyer
le fichier à toute personne désirant m'aider
D'avance Merci-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-mêmed'abord. Ca commence par formuler correctement sa
question. Si tu vaslire la page connexion d'excelabo, tu comprendras
pourquoi les fichiersjoints sont vraiment la solution de facilité (au moins
c'est ce quecrois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais prisla peine d'expliquer ton problème avec des mots, sois
sur que plus de"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partieentre nous soit dit) se seraient penchés sur ton pb.
Là,avec tadémarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, lesprobabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pasinterdit d'envoyer des fichiers en bal perso une fois
qu'un contributeurdu forum, se penchant sur ton pb t'en fait la demande
(pas avant). Maisla démarche minimum qui est demandée c'est d'expliquer
en quelques motsou réside le pb à résoudre. Tu imagines si chacun
postait un mail avecdans l'en tête "pb excel" ou "pb de macro"
ou "userform"voire"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'unforum c'est que tout le monde puisse lire les questions
et profite desréponses. S'il faut aller pour chaque question
télécharger un fichier,l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moinsréactif. Si tu n'as trouvé d'aide sur aucun des
nombreuxforums que tudis avoir utilisé c'est quand même probablement que le
pb vient de lafaçon dont le pb est posé non ? Si c'était un truc
impossible à faire,genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...rien ne t'empêche de reprendre à 0 et d'expliquer ici
cequi coince eten quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulotpar quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
desconcours de saut d'obastacle bénévolement et j'essaye
deme "monter" un programme sous Excel pour m'aider
graceàvotre aide à tous. Je suis d'ailleurs tout à fait
pretàenvoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projetd'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pouressayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
mepermettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'aid'ailleurs pas manqué de remercier (Désolé si j'ai
oubliéquelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
jel'entendais pas du tout en tant que professionnels
maisen tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre etde faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à tefournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ceforum (ce ne sont pas des employés de microsoft comme
tu
as l'air de leconsidérer) de se démm... pour aller récupérer ton
problème parce quetoi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pourt'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'estloin d'être la règle !) et tu rales encore parce que
ce
n'est pas pilepoil ce que tu veux. Non content de cela, tu reviens
à
la charge enréclamant des pros !!! ben vas donc les chercher les
pros. Là où ilssont : dans des boites d'informatique probablement.
Mais
apprête toi àles payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plusaboutie mais j'attends toujours les "pro".
Merci-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'astu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
AsRange) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfaitqu'à 99,9% . En effet elle est assez lourde
puisque
poursortir du userform il faut cliquer sur masquer ou
sur
lacroix.
J'aurais souhaité que le Userform
soit "transparent"c'est à dire que pour le masquer il suffise de
déplacerle curseur par les touches de tabulations par
exemple
ouen tapant sur les flèches de déplacement du
curseur.Pour moi le bouton Masquer n'a qu'une utilité
limitée.Nouvelle version du fichier corrigé accessible à:
Merci-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
quifera ce que tudemandes.
Amicalement
Sitting Hoax
"nicolas65"
a
écrit dans le message denews:2b9a501c46921$38e426d0$
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
deregarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898
_
101
898..htm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
.
-----Message d'origine-----
Bonjour Nicolas65,
Tu peux t'amuser avec ceci :
Tout ce qui suit est à copier dans la feuille module où
l'action se déroule. Un clic droit sur l'onglet de la
visualiser le code / et dans la feuille blanche ceci :
3 événements de la feuille sont utilisés
A ) Worksheet_Activate
- Ouverture d'une connection entre le fichier
actuel et ta base de données
- charge le recordset de ta base de données en
mémoire
B ) Worksheet_SelectionChange
-A chaque fois que tu cliqueras dans la colonne
B:B, le contenu de la cellule sélectionnée sera
le recordset en mémoire, si l'information s'y trouve,
(j'ai supposé que tu n'avais pas de doublons sur les noms
cheveaux dans ta base de données) , l'information sera
copiée à la suite des données de la feuil2 de ton
Si tu préfères le tout dans un formulaire :
Userform1.Show
For A = 1 To Nb
'En prenant pour acquis que tu as autant
de textbox que de champs dans ta base de données
'le nom de tes textbox sont de 1 ... au
nombre de champs
Controls("Textbox" & cstr(a) = Rst(A - 1)
Next
C )Worksheet_Deactivate
- Vide le recordset
D ) Tu dois ajouter à ton projet la bibliothèque
suivante :
"Microsoft Activex Data Object 2.0 Librairy"
'Déclaration Variable : Haut du module Feuille
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
'--------------------------------------------
Private Sub Worksheet_Activate()
Dim Requete As String, NomFeuille As String
Dim file As String, Chemin As String
'*********Variable à définir**************
NomFeuille = "Feuil1" 'A déterminer
Chemin = "C:excel" 'à déterminer
file = "Données"
'*****************************************
'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$] "
'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Ouverture d'un recordset
Rst.Open Requete, Conn, adOpenForwardOnly,
adLockOptimistic
End Sub
'--------------------------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim A As Integer, Nb As Integer, Rg As Range
If Target.Column = Range("B1").Column Then
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
If Rst.EOF Then
MsgBox "Aucun cheval trouvé!"
Rst.MoveFirst
Else
'déterminer où l'information sera copiée
With Worksheets("Feuil2")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range
("A65356").End(xlUp).Row)(2)
End If
End With
'déterminer le nombre de champs du recordset
Nb = Rst.Fields.Count
For A = 1 To Nb
Rg.Offset(, A - 1) = Rst(A - 1)
Next
End If
End If
'--------------------------------------------
Salutations!
"nicolas65" a
écrit dans le message de
news:2d96701c46a6d$2176cd70$
Re(Bonjour)
Veuillez excuser le doublon mais le message est partit
trop vite. Je le reprend donc en entier.
Je n'ai pas demandé de me faire intégralement le
programme. J'ai adapté un certains nombres de formules et
j'ai fait une grande partie de la mise en page en
fonction de mes connaissances.
Je reprends donc mon problème.
J'aimerais si possible que lorsque je sélectionne une
cellule ( en cliquant ou en me déplacant dessus) afficher
des infos contenues dans un autre fichier excel ou dans
le même sur une autre feuille.
Je sélectionne une cellule de la colonne B de la feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la base
si non il affiche cheval inconnu. Ce fichier (si on prend
la solution du fichier) sera enregistré dans le
Répertoire Mes Documents Sous Répertoire Equitation.
Le fichier Base chevaux (ou la feuille) aura la structure
suivante:
Colonne A Cheval
Colonne B Sexe
Colonne C Robe
Colonne B Age
Colonne C Race
Colonne D Gains
Colonne E Naisseur
Colonne F Propriétaire
Colonne G Père
Colonne H Race père
Colonne I Mère
Colonne J Race mère
Colonne K Père de la Mère
Colonne L Race père de mère
Colonne M Département naissance
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
Mes faibles connaisances en VBA ne me permettent pas de
faire ça.
J'essayerais d'apter la solution que vous voudrez bien me
donner pour la colonne cavaliers et me propose d'envoyer
le fichier à toute personne désirant m'aider
D'avance Merci-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-mêmed'abord. Ca commence par formuler correctement sa
question. Si tu vaslire la page connexion d'excelabo, tu comprendras
pourquoi les fichiersjoints sont vraiment la solution de facilité (au moins
c'est ce quecrois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais prisla peine d'expliquer ton problème avec des mots, sois
sur que plus de"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partieentre nous soit dit) se seraient penchés sur ton pb.
Là,avec tadémarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, lesprobabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pasinterdit d'envoyer des fichiers en bal perso une fois
qu'un contributeurdu forum, se penchant sur ton pb t'en fait la demande
(pas avant). Maisla démarche minimum qui est demandée c'est d'expliquer
en quelques motsou réside le pb à résoudre. Tu imagines si chacun
postait un mail avecdans l'en tête "pb excel" ou "pb de macro"
ou "userform"voire"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'unforum c'est que tout le monde puisse lire les questions
et profite desréponses. S'il faut aller pour chaque question
télécharger un fichier,l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moinsréactif. Si tu n'as trouvé d'aide sur aucun des
nombreuxforums que tudis avoir utilisé c'est quand même probablement que le
pb vient de lafaçon dont le pb est posé non ? Si c'était un truc
impossible à faire,genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...rien ne t'empêche de reprendre à 0 et d'expliquer ici
cequi coince eten quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulotpar quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
desconcours de saut d'obastacle bénévolement et j'essaye
deme "monter" un programme sous Excel pour m'aider
graceàvotre aide à tous. Je suis d'ailleurs tout à fait
pretàenvoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projetd'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pouressayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
mepermettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'aid'ailleurs pas manqué de remercier (Désolé si j'ai
oubliéquelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
jel'entendais pas du tout en tant que professionnels
maisen tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre etde faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à tefournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ceforum (ce ne sont pas des employés de microsoft comme
tu
as l'air de leconsidérer) de se démm... pour aller récupérer ton
problème parce quetoi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pourt'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'estloin d'être la règle !) et tu rales encore parce que
ce
n'est pas pilepoil ce que tu veux. Non content de cela, tu reviens
à
la charge enréclamant des pros !!! ben vas donc les chercher les
pros. Là où ilssont : dans des boites d'informatique probablement.
Mais
apprête toi àles payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plusaboutie mais j'attends toujours les "pro".
Merci-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'astu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
AsRange) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfaitqu'à 99,9% . En effet elle est assez lourde
puisque
poursortir du userform il faut cliquer sur masquer ou
sur
lacroix.
J'aurais souhaité que le Userform
soit "transparent"c'est à dire que pour le masquer il suffise de
déplacerle curseur par les touches de tabulations par
exemple
ouen tapant sur les flèches de déplacement du
curseur.Pour moi le bouton Masquer n'a qu'une utilité
limitée.Nouvelle version du fichier corrigé accessible à:
Merci-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
quifera ce que tudemandes.
Amicalement
Sitting Hoax
"nicolas65"
a
écrit dans le message denews:2b9a501c46921$38e426d0$
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
deregarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898
_
101
898..htm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
.
-----Message d'origine-----
Bonjour Nicolas65,
Tu peux t'amuser avec ceci :
Tout ce qui suit est à copier dans la feuille module où
l'action se déroule. Un clic droit sur l'onglet de la
visualiser le code / et dans la feuille blanche ceci :
3 événements de la feuille sont utilisés
A ) Worksheet_Activate
- Ouverture d'une connection entre le fichier
actuel et ta base de données
- charge le recordset de ta base de données en
mémoire
B ) Worksheet_SelectionChange
-A chaque fois que tu cliqueras dans la colonne
B:B, le contenu de la cellule sélectionnée sera
le recordset en mémoire, si l'information s'y trouve,
(j'ai supposé que tu n'avais pas de doublons sur les noms
cheveaux dans ta base de données) , l'information sera
copiée à la suite des données de la feuil2 de ton
Si tu préfères le tout dans un formulaire :
Userform1.Show
For A = 1 To Nb
'En prenant pour acquis que tu as autant
de textbox que de champs dans ta base de données
'le nom de tes textbox sont de 1 ... au
nombre de champs
Controls("Textbox" & cstr(a) = Rst(A - 1)
Next
C )Worksheet_Deactivate
- Vide le recordset
D ) Tu dois ajouter à ton projet la bibliothèque
suivante :
"Microsoft Activex Data Object 2.0 Librairy"
'Déclaration Variable : Haut du module Feuille
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
'--------------------------------------------
Private Sub Worksheet_Activate()
Dim Requete As String, NomFeuille As String
Dim file As String, Chemin As String
'*********Variable à définir**************
NomFeuille = "Feuil1" 'A déterminer
Chemin = "C:excel" 'à déterminer
file = "Données"
'*****************************************
'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$] "
'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Ouverture d'un recordset
Rst.Open Requete, Conn, adOpenForwardOnly,
adLockOptimistic
End Sub
'--------------------------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim A As Integer, Nb As Integer, Rg As Range
If Target.Column = Range("B1").Column Then
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
If Rst.EOF Then
MsgBox "Aucun cheval trouvé!"
Rst.MoveFirst
Else
'déterminer où l'information sera copiée
With Worksheets("Feuil2")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range
("A65356").End(xlUp).Row)(2)
End If
End With
'déterminer le nombre de champs du recordset
Nb = Rst.Fields.Count
For A = 1 To Nb
Rg.Offset(, A - 1) = Rst(A - 1)
Next
End If
End If
'--------------------------------------------
Salutations!
"nicolas65" <anonymous@discussions.microsoft.com> a
écrit dans le message de
news:2d96701c46a6d$2176cd70$a501280a@phx.gbl...
Re(Bonjour)
Veuillez excuser le doublon mais le message est partit
trop vite. Je le reprend donc en entier.
Je n'ai pas demandé de me faire intégralement le
programme. J'ai adapté un certains nombres de formules et
j'ai fait une grande partie de la mise en page en
fonction de mes connaissances.
Je reprends donc mon problème.
J'aimerais si possible que lorsque je sélectionne une
cellule ( en cliquant ou en me déplacant dessus) afficher
des infos contenues dans un autre fichier excel ou dans
le même sur une autre feuille.
Je sélectionne une cellule de la colonne B de la feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la base
si non il affiche cheval inconnu. Ce fichier (si on prend
la solution du fichier) sera enregistré dans le
Répertoire Mes Documents Sous Répertoire Equitation.
Le fichier Base chevaux (ou la feuille) aura la structure
suivante:
Colonne A Cheval
Colonne B Sexe
Colonne C Robe
Colonne B Age
Colonne C Race
Colonne D Gains
Colonne E Naisseur
Colonne F Propriétaire
Colonne G Père
Colonne H Race père
Colonne I Mère
Colonne J Race mère
Colonne K Père de la Mère
Colonne L Race père de mère
Colonne M Département naissance
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
Mes faibles connaisances en VBA ne me permettent pas de
faire ça.
J'essayerais d'apter la solution que vous voudrez bien me
donner pour la colonne cavaliers et me propose d'envoyer
le fichier à toute personne désirant m'aider
D'avance Merci
-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-même
d'abord. Ca commence par formuler correctement sa
question. Si tu vas
lire la page connexion d'excelabo, tu comprendras
pourquoi les fichiers
joints sont vraiment la solution de facilité (au moins
c'est ce que
crois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais pris
la peine d'expliquer ton problème avec des mots, sois
sur que plus de
"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partie
entre nous soit dit) se seraient penchés sur ton pb.
Là,
avec ta
démarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, les
probabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pas
interdit d'envoyer des fichiers en bal perso une fois
qu'un contributeur
du forum, se penchant sur ton pb t'en fait la demande
(pas avant). Mais
la démarche minimum qui est demandée c'est d'expliquer
en quelques mots
ou réside le pb à résoudre. Tu imagines si chacun
postait un mail avec
dans l'en tête "pb excel" ou "pb de macro"
ou "userform"
voire
"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'un
forum c'est que tout le monde puisse lire les questions
et profite des
réponses. S'il faut aller pour chaque question
télécharger un fichier,
l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moins
réactif. Si tu n'as trouvé d'aide sur aucun des
nombreux
forums que tu
dis avoir utilisé c'est quand même probablement que le
pb vient de la
façon dont le pb est posé non ? Si c'était un truc
impossible à faire,
genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...
rien ne t'empêche de reprendre à 0 et d'expliquer ici
ce
qui coince et
en quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:
Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulot
par quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
des
concours de saut d'obastacle bénévolement et j'essaye
de
me "monter" un programme sous Excel pour m'aider
grace
à
votre aide à tous. Je suis d'ailleurs tout à fait
pret
à
envoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projet
d'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pour
essayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
me
permettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'ai
d'ailleurs pas manqué de remercier (Désolé si j'ai
oublié
quelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
je
l'entendais pas du tout en tant que professionnels
mais
en tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé
-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre et
de faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à te
fournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ce
forum (ce ne sont pas des employés de microsoft comme
tu
as l'air de le
considérer) de se démm... pour aller récupérer ton
problème parce que
toi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pour
t'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'est
loin d'être la règle !) et tu rales encore parce que
ce
n'est pas pile
poil ce que tu veux. Non content de cela, tu reviens
à
la charge en
réclamant des pros !!! ben vas donc les chercher les
pros. Là où ils
sont : dans des boites d'informatique probablement.
Mais
apprête toi à
les payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:
Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plus
aboutie mais j'attends toujours les "pro".
Merci
-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'as
tu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
As
Range) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value
= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage
-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfait
qu'à 99,9% . En effet elle est assez lourde
puisque
pour
sortir du userform il faut cliquer sur masquer ou
sur
la
croix.
J'aurais souhaité que le Userform
soit "transparent"
c'est à dire que pour le masquer il suffise de
déplacer
le curseur par les touches de tabulations par
exemple
ou
en tapant sur les flèches de déplacement du
curseur.
Pour moi le bouton Masquer n'a qu'une utilité
limitée.
Nouvelle version du fichier corrigé accessible à:
Merci
-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
qui
fera ce que tu
demandes.
Amicalement
Sitting Hoax
"nicolas65" <anonymous@discussions.microsoft.com>
a
écrit dans le message de
news:2b9a501c46921$38e426d0$a601280a@phx.gbl...
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
de
regarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898
_
1
01
89
8
..
h
tm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
.
-----Message d'origine-----
Bonjour Nicolas65,
Tu peux t'amuser avec ceci :
Tout ce qui suit est à copier dans la feuille module où
l'action se déroule. Un clic droit sur l'onglet de la
visualiser le code / et dans la feuille blanche ceci :
3 événements de la feuille sont utilisés
A ) Worksheet_Activate
- Ouverture d'une connection entre le fichier
actuel et ta base de données
- charge le recordset de ta base de données en
mémoire
B ) Worksheet_SelectionChange
-A chaque fois que tu cliqueras dans la colonne
B:B, le contenu de la cellule sélectionnée sera
le recordset en mémoire, si l'information s'y trouve,
(j'ai supposé que tu n'avais pas de doublons sur les noms
cheveaux dans ta base de données) , l'information sera
copiée à la suite des données de la feuil2 de ton
Si tu préfères le tout dans un formulaire :
Userform1.Show
For A = 1 To Nb
'En prenant pour acquis que tu as autant
de textbox que de champs dans ta base de données
'le nom de tes textbox sont de 1 ... au
nombre de champs
Controls("Textbox" & cstr(a) = Rst(A - 1)
Next
C )Worksheet_Deactivate
- Vide le recordset
D ) Tu dois ajouter à ton projet la bibliothèque
suivante :
"Microsoft Activex Data Object 2.0 Librairy"
'Déclaration Variable : Haut du module Feuille
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
'--------------------------------------------
Private Sub Worksheet_Activate()
Dim Requete As String, NomFeuille As String
Dim file As String, Chemin As String
'*********Variable à définir**************
NomFeuille = "Feuil1" 'A déterminer
Chemin = "C:excel" 'à déterminer
file = "Données"
'*****************************************
'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$] "
'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & file & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
'Ouverture d'un recordset
Rst.Open Requete, Conn, adOpenForwardOnly,
adLockOptimistic
End Sub
'--------------------------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
End Sub
'--------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Dim A As Integer, Nb As Integer, Rg As Range
If Target.Column = Range("B1").Column Then
If Target.Cells.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
If Rst.EOF Then
MsgBox "Aucun cheval trouvé!"
Rst.MoveFirst
Else
'déterminer où l'information sera copiée
With Worksheets("Feuil2")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range
("A65356").End(xlUp).Row)(2)
End If
End With
'déterminer le nombre de champs du recordset
Nb = Rst.Fields.Count
For A = 1 To Nb
Rg.Offset(, A - 1) = Rst(A - 1)
Next
End If
End If
'--------------------------------------------
Salutations!
"nicolas65" a
écrit dans le message de
news:2d96701c46a6d$2176cd70$
Re(Bonjour)
Veuillez excuser le doublon mais le message est partit
trop vite. Je le reprend donc en entier.
Je n'ai pas demandé de me faire intégralement le
programme. J'ai adapté un certains nombres de formules et
j'ai fait une grande partie de la mise en page en
fonction de mes connaissances.
Je reprends donc mon problème.
J'aimerais si possible que lorsque je sélectionne une
cellule ( en cliquant ou en me déplacant dessus) afficher
des infos contenues dans un autre fichier excel ou dans
le même sur une autre feuille.
Je sélectionne une cellule de la colonne B de la feuille
1 par exemple à partir de la ligne 7 et je vois
apparaitre (dans un Userform? ) toutes les infos
concernant ce cheval si le cheval est trouvé dans la base
si non il affiche cheval inconnu. Ce fichier (si on prend
la solution du fichier) sera enregistré dans le
Répertoire Mes Documents Sous Répertoire Equitation.
Le fichier Base chevaux (ou la feuille) aura la structure
suivante:
Colonne A Cheval
Colonne B Sexe
Colonne C Robe
Colonne B Age
Colonne C Race
Colonne D Gains
Colonne E Naisseur
Colonne F Propriétaire
Colonne G Père
Colonne H Race père
Colonne I Mère
Colonne J Race mère
Colonne K Père de la Mère
Colonne L Race père de mère
Colonne M Département naissance
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
Mes faibles connaisances en VBA ne me permettent pas de
faire ça.
J'essayerais d'apter la solution que vous voudrez bien me
donner pour la colonne cavaliers et me propose d'envoyer
le fichier à toute personne désirant m'aider
D'avance Merci-----Message d'origine-----
dont acte,
Cependant, les forums sont fait pour aider ceux qui
s'aident eux-mêmed'abord. Ca commence par formuler correctement sa
question. Si tu vaslire la page connexion d'excelabo, tu comprendras
pourquoi les fichiersjoints sont vraiment la solution de facilité (au moins
c'est ce quecrois celui qui l'envoie) et pourquoi on n'en veut pas.
Si tu avais prisla peine d'expliquer ton problème avec des mots, sois
sur que plus de"pros" comme tu dis (dont Jean pascal et laurent font
tout à fait partieentre nous soit dit) se seraient penchés sur ton pb.
Là,avec tadémarche et le ton que tu as adopté jusqu'à ton dernier
post exclu, lesprobabilités pour qu'on ait envie de t'aider sont
faibles. Il n'est pasinterdit d'envoyer des fichiers en bal perso une fois
qu'un contributeurdu forum, se penchant sur ton pb t'en fait la demande
(pas avant). Maisla démarche minimum qui est demandée c'est d'expliquer
en quelques motsou réside le pb à résoudre. Tu imagines si chacun
postait un mail avecdans l'en tête "pb excel" ou "pb de macro"
ou "userform"voire"classeur" et un fichier joint pour expliquer le pb ???
L'intérêt d'unforum c'est que tout le monde puisse lire les questions
et profite desréponses. S'il faut aller pour chaque question
télécharger un fichier,l'ouvrir ... nul doute que le forum ne devienne vite
sacrément moinsréactif. Si tu n'as trouvé d'aide sur aucun des
nombreuxforums que tudis avoir utilisé c'est quand même probablement que le
pb vient de lafaçon dont le pb est posé non ? Si c'était un truc
impossible à faire,genre avoir plus de 256 colonnes, sur que la réponse tu
l'aurais déjà eue...rien ne t'empêche de reprendre à 0 et d'expliquer ici
cequi coince eten quoi les soluces proposées ne conviennent pas. A toi
de voir
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:20:Bonjour Misange
Très loin de mois l'idée de considérer que c'est une
obligation de me répondre ni de faire faire mon
boulotpar quelqu'un. Je suis tout simplement un passionné
d'Excel (mais n'ayant pas vos connaissance) et
d'Equitation. Je juge et chronomètre régulièrement
desconcours de saut d'obastacle bénévolement et j'essaye
deme "monter" un programme sous Excel pour m'aider
graceàvotre aide à tous. Je suis d'ailleurs tout à fait
pretàenvoyer le fichier une fois fini à tous ceux qui m'en
feront la demande pour peux qu'ils participent au
projetd'une manière ou d'une autre.
Certes j'ai posté un message sur plusieurs forums
pouressayer de trouver le maximum de personnes pouvant
m'aider et me permettre de joindre deux fichiers qui
mepermettent d'expliquer plus clairement ma demande.
Je sais très bien qu'il s'agit de bénévoles que je
n'aid'ailleurs pas manqué de remercier (Désolé si j'ai
oubliéquelqu'un) et qu'il ne s'agit pas de salarié de
Microsoft.
Je ne rale pas du tout et fréquente d'ailleurs
régilièrement ton site. Lorsque je parlais de "pro"
jel'entendais pas du tout en tant que professionnels
maisen tant que personnes ayant des connaisance pointues.
En espérant que vous comprendrez ma démarche
Merci à tous ceux qui m'ont aidé-----Message d'origine-----
Tu manques pas d'air quand même...
Tu as l'air de considérer qu'ici c'est une obligation
de
te répondre etde faire ton boulot. Tu vas sur un autre forum qui
n'arrive pas à tefournir ta réponse. Tu déboules ici en demandant aux
BENEVOLES de ceforum (ce ne sont pas des employés de microsoft comme
tu
as l'air de leconsidérer) de se démm... pour aller récupérer ton
problème parce quetoi tu sais pas comment l'expliquer. Deux personnes
se
décarcassent pourt'aider, te font même un exemple qu'elles t'envoient
dans ta bal (c'estloin d'être la règle !) et tu rales encore parce que
ce
n'est pas pilepoil ce que tu veux. Non content de cela, tu reviens
à
la charge enréclamant des pros !!! ben vas donc les chercher les
pros. Là où ilssont : dans des boites d'informatique probablement.
Mais
apprête toi àles payer convenablement.
grrrr
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 09:54:Bonjour le forum
J'ai bien reçu ta proposition graphiquement une dès
plusaboutie mais j'attends toujours les "pro".
Merci-----Message d'origine-----
salut Nicolas,
dans le fichier que je t'ai envoye tout a l'heure,
l'astu recu ? tu peux modifier les procedures
Private Sub Worksheet_SelectionChange(ByVal Target
AsRange) en ajoutant une ligne pour que le Userform
disparaisse des que tu cliques sur une cellule hors
colonne B (ou vide) :
If Target.Column <> 2 Or Target.Row < 7 Or
Target.Value= "" Then
UserForm1.Hide
Exit Sub: End If
En ce qui concerne la possibilite de travailler au
clavier sur une feuille quand un UserForm est
affiche .... lance un appel aux pros de chez Pro
(attention, un jour de fete, ca doit banquer ;-)))
bon courage-----Message d'origine-----
Merci Laurent
Fichier bien reçu et testé Cette solution ne me
satisfaitqu'à 99,9% . En effet elle est assez lourde
puisque
poursortir du userform il faut cliquer sur masquer ou
sur
lacroix.
J'aurais souhaité que le Userform
soit "transparent"c'est à dire que pour le masquer il suffise de
déplacerle curseur par les touches de tabulations par
exemple
ouen tapant sur les flèches de déplacement du
curseur.Pour moi le bouton Masquer n'a qu'une utilité
limitée.Nouvelle version du fichier corrigé accessible à:
Merci-----Message d'origine-----
Bonjour, dans ta boîte,
je t'ai envoyé ton fichier modifié avec un
userform
quifera ce que tudemandes.
Amicalement
Sitting Hoax
"nicolas65"
a
écrit dans le message denews:2b9a501c46921$38e426d0$
Bonjour,
Y aurait-il parmi les grands spécialistes d'Excel
quelqu'un qui aurait la solution à mon problème?
Ne pouvant pas mettre de fichier sur le forum
merci
deregarder le lien
http://www.excel-
downloads.com/html/French/forum/messages/1_101898
_
101
898..htm
pour avoir tous les détails.
Merci
.
.
.
.
.
.
.
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
La solution que je t'ai donnee ne te convient pas ?
Pas réussie à mettre en place
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
La solution que je t'ai donnee ne te convient pas ?
Pas réussie à mettre en place
Dès que je changerais de colonne (sans avoir de
validation à faire) les infos "disparaitront".
La solution que je t'ai donnee ne te convient pas ?
Pas réussie à mettre en place
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
Ben heureusement qu'il y en a d'autres qui font des ficelles rien que
pour dire qu'ils sont contents ! ça compense :-)
tien merci Philippe au fait (je vais pas rater cette occasion quand
même, ce serait gacher)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:00:Ahhhh ! ça fait du bien des fois, un bon coup de gueule !
Hein Flo !?!
Ben heureusement qu'il y en a d'autres qui font des ficelles rien que
pour dire qu'ils sont contents ! ça compense :-)
tien merci Philippe au fait (je vais pas rater cette occasion quand
même, ce serait gacher)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:00:
Ahhhh ! ça fait du bien des fois, un bon coup de gueule !
Hein Flo !?!
Ben heureusement qu'il y en a d'autres qui font des ficelles rien que
pour dire qu'ils sont contents ! ça compense :-)
tien merci Philippe au fait (je vais pas rater cette occasion quand
même, ce serait gacher)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
le 15/07/2004 12:00:Ahhhh ! ça fait du bien des fois, un bon coup de gueule !
Hein Flo !?!
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
Il y a une parade simple dans ces cas de figures
que je te soupçonne de la connaître ....
Rst.Find "cheval = '" & Replace(Target, "'", "''") & "'"
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois
d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro climat ????????????
-----Message d'origine-----
Bonjour J-Dan,
"2 points restent obscurs :"
APOSTROPHE : Il n'y a rien de nouveau à l'horizon, cela
est documenté. Il y a une parade simple dans ces cas de
que je te soupçonne de la connaître .... Effectivement
je me suis pas senti obligé lorsque j'ai écrit cette sub
tester tous les cas de figures ... et pour l'information
de Nicolas 65, voilà la ligne de code qu'il devra changer
cas échéant :
Dans la procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Adopte plutôt cette syntaxe, que tes noms de chevaux
aient ou non une apostrophe, ça marcheras.
Rst.Find "Titre2 = '" & Replace(Target, "'", "''") & "'"
Titre2 étant le nom de l'étiquette de colonne B de ta
base de données.
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro
climant ????????????????????????????????????
Ceci étant dit, toujours pour le bénéfice de Nicolas,
tu devrais utiliser ce qui suit plutôt que le code de la
procédure intiale. La raison, c'est si tu désires ouvrir
base de données suite à une première exécution du code,
tu dois avoir préalablement fermé la connection ouverte
code.Cette connection est représentée par la
variable "Conn ". Dans mon message précédent, je n'ai pas
connection "Conn.Close" ... cela rend temporairement
l'ouverture de la base de données impossible. Et pour
connection, tu dois simplement sélectionner une autre
feuille que celle où se retrouve tes données.
'---------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub
'---------------------------
Pour ceux que la chose intéresse, j'ai un fichier
exemple pour ceux qui le désirent !
Salutations!
"J-Dan" a écrit
dans le message de news:2d86001c46a7e$710d3110
bonjour Denis,
j'ai teste ta solution et 2 points restent obscurs :
- les noms comportant une apostrophe generent une
erreur
"Erreur 3001 - Les arguments ..... ou semblent en
conflit..."
- il semble qu'il y ait un "effet latence", une requete
peut ne rien renvoyer de facon aleatoire "aucun
cheval .." alors que repetee quelques secondes plus tard,
ca marche.
Precision (pour Nicolas ;-))) :
remplacer
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
par
'Titre2 = Nom De l'étiquette Colonne A de ta base de
données
Rst.Find "cheval='" & Target & "'"-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
croist'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
besoind'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
demandes !
.
Il y a une parade simple dans ces cas de figures
que je te soupçonne de la connaître ....
Rst.Find "cheval = '" & Replace(Target, "'", "''") & "'"
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois
d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro climat ????????????
-----Message d'origine-----
Bonjour J-Dan,
"2 points restent obscurs :"
APOSTROPHE : Il n'y a rien de nouveau à l'horizon, cela
est documenté. Il y a une parade simple dans ces cas de
que je te soupçonne de la connaître .... Effectivement
je me suis pas senti obligé lorsque j'ai écrit cette sub
tester tous les cas de figures ... et pour l'information
de Nicolas 65, voilà la ligne de code qu'il devra changer
cas échéant :
Dans la procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Adopte plutôt cette syntaxe, que tes noms de chevaux
aient ou non une apostrophe, ça marcheras.
Rst.Find "Titre2 = '" & Replace(Target, "'", "''") & "'"
Titre2 étant le nom de l'étiquette de colonne B de ta
base de données.
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro
climant ????????????????????????????????????
Ceci étant dit, toujours pour le bénéfice de Nicolas,
tu devrais utiliser ce qui suit plutôt que le code de la
procédure intiale. La raison, c'est si tu désires ouvrir
base de données suite à une première exécution du code,
tu dois avoir préalablement fermé la connection ouverte
code.Cette connection est représentée par la
variable "Conn ". Dans mon message précédent, je n'ai pas
connection "Conn.Close" ... cela rend temporairement
l'ouverture de la base de données impossible. Et pour
connection, tu dois simplement sélectionner une autre
feuille que celle où se retrouve tes données.
'---------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub
'---------------------------
Pour ceux que la chose intéresse, j'ai un fichier
exemple pour ceux qui le désirent !
Salutations!
"J-Dan" <anonymous@discussions.microsoft.com> a écrit
dans le message de news:2d86001c46a7e$710d3110
bonjour Denis,
j'ai teste ta solution et 2 points restent obscurs :
- les noms comportant une apostrophe generent une
erreur
"Erreur 3001 - Les arguments ..... ou semblent en
conflit..."
- il semble qu'il y ait un "effet latence", une requete
peut ne rien renvoyer de facon aleatoire "aucun
cheval .." alors que repetee quelques secondes plus tard,
ca marche.
Precision (pour Nicolas ;-))) :
remplacer
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
par
'Titre2 = Nom De l'étiquette Colonne A de ta base de
données
Rst.Find "cheval='" & Target & "'"
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
crois
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
besoin
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
demandes !
.
Il y a une parade simple dans ces cas de figures
que je te soupçonne de la connaître ....
Rst.Find "cheval = '" & Replace(Target, "'", "''") & "'"
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois
d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro climat ????????????
-----Message d'origine-----
Bonjour J-Dan,
"2 points restent obscurs :"
APOSTROPHE : Il n'y a rien de nouveau à l'horizon, cela
est documenté. Il y a une parade simple dans ces cas de
que je te soupçonne de la connaître .... Effectivement
je me suis pas senti obligé lorsque j'ai écrit cette sub
tester tous les cas de figures ... et pour l'information
de Nicolas 65, voilà la ligne de code qu'il devra changer
cas échéant :
Dans la procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Adopte plutôt cette syntaxe, que tes noms de chevaux
aient ou non une apostrophe, ça marcheras.
Rst.Find "Titre2 = '" & Replace(Target, "'", "''") & "'"
Titre2 étant le nom de l'étiquette de colonne B de ta
base de données.
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro
climant ????????????????????????????????????
Ceci étant dit, toujours pour le bénéfice de Nicolas,
tu devrais utiliser ce qui suit plutôt que le code de la
procédure intiale. La raison, c'est si tu désires ouvrir
base de données suite à une première exécution du code,
tu dois avoir préalablement fermé la connection ouverte
code.Cette connection est représentée par la
variable "Conn ". Dans mon message précédent, je n'ai pas
connection "Conn.Close" ... cela rend temporairement
l'ouverture de la base de données impossible. Et pour
connection, tu dois simplement sélectionner une autre
feuille que celle où se retrouve tes données.
'---------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub
'---------------------------
Pour ceux que la chose intéresse, j'ai un fichier
exemple pour ceux qui le désirent !
Salutations!
"J-Dan" a écrit
dans le message de news:2d86001c46a7e$710d3110
bonjour Denis,
j'ai teste ta solution et 2 points restent obscurs :
- les noms comportant une apostrophe generent une
erreur
"Erreur 3001 - Les arguments ..... ou semblent en
conflit..."
- il semble qu'il y ait un "effet latence", une requete
peut ne rien renvoyer de facon aleatoire "aucun
cheval .." alors que repetee quelques secondes plus tard,
ca marche.
Precision (pour Nicolas ;-))) :
remplacer
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
par
'Titre2 = Nom De l'étiquette Colonne A de ta base de
données
Rst.Find "cheval='" & Target & "'"-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
croist'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
besoind'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
demandes !
.
Il y a une parade simple dans ces cas de figures
que je te soupçonne de la connaître ....
Rst.Find "cheval = '" & Replace(Target, "'", "''") & "'"
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois
d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro climat ????????????
-----Message d'origine-----
Bonjour J-Dan,
"2 points restent obscurs :"
APOSTROPHE : Il n'y a rien de nouveau à l'horizon, cela
est documenté. Il y a une parade simple dans ces cas de
que je te soupçonne de la connaître .... Effectivement
je me suis pas senti obligé lorsque j'ai écrit cette sub
tester tous les cas de figures ... et pour l'information
de Nicolas 65, voilà la ligne de code qu'il devra changer
cas échéant :
Dans la procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Adopte plutôt cette syntaxe, que tes noms de chevaux
aient ou non une apostrophe, ça marcheras.
Rst.Find "Titre2 = '" & Replace(Target, "'", "''") & "'"
Titre2 étant le nom de l'étiquette de colonne B de ta
base de données.
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro
climant ????????????????????????????????????
Ceci étant dit, toujours pour le bénéfice de Nicolas,
tu devrais utiliser ce qui suit plutôt que le code de la
procédure intiale. La raison, c'est si tu désires ouvrir
base de données suite à une première exécution du code,
tu dois avoir préalablement fermé la connection ouverte
code.Cette connection est représentée par la
variable "Conn ". Dans mon message précédent, je n'ai pas
connection "Conn.Close" ... cela rend temporairement
l'ouverture de la base de données impossible. Et pour
connection, tu dois simplement sélectionner une autre
feuille que celle où se retrouve tes données.
'---------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub
'---------------------------
Pour ceux que la chose intéresse, j'ai un fichier
exemple pour ceux qui le désirent !
Salutations!
"J-Dan" a écrit
dans le message de news:2d86001c46a7e$710d3110
bonjour Denis,
j'ai teste ta solution et 2 points restent obscurs :
- les noms comportant une apostrophe generent une
erreur
"Erreur 3001 - Les arguments ..... ou semblent en
conflit..."
- il semble qu'il y ait un "effet latence", une requete
peut ne rien renvoyer de facon aleatoire "aucun
cheval .." alors que repetee quelques secondes plus tard,
ca marche.
Precision (pour Nicolas ;-))) :
remplacer
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
par
'Titre2 = Nom De l'étiquette Colonne A de ta base de
données
Rst.Find "cheval='" & Target & "'"-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
croist'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
besoind'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
demandes !
.
Il y a une parade simple dans ces cas de figures
que je te soupçonne de la connaître ....
Rst.Find "cheval = '" & Replace(Target, "'", "''") & "'"
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois
d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro climat ????????????
-----Message d'origine-----
Bonjour J-Dan,
"2 points restent obscurs :"
APOSTROPHE : Il n'y a rien de nouveau à l'horizon, cela
est documenté. Il y a une parade simple dans ces cas de
que je te soupçonne de la connaître .... Effectivement
je me suis pas senti obligé lorsque j'ai écrit cette sub
tester tous les cas de figures ... et pour l'information
de Nicolas 65, voilà la ligne de code qu'il devra changer
cas échéant :
Dans la procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Adopte plutôt cette syntaxe, que tes noms de chevaux
aient ou non une apostrophe, ça marcheras.
Rst.Find "Titre2 = '" & Replace(Target, "'", "''") & "'"
Titre2 étant le nom de l'étiquette de colonne B de ta
base de données.
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro
climant ????????????????????????????????????
Ceci étant dit, toujours pour le bénéfice de Nicolas,
tu devrais utiliser ce qui suit plutôt que le code de la
procédure intiale. La raison, c'est si tu désires ouvrir
base de données suite à une première exécution du code,
tu dois avoir préalablement fermé la connection ouverte
code.Cette connection est représentée par la
variable "Conn ". Dans mon message précédent, je n'ai pas
connection "Conn.Close" ... cela rend temporairement
l'ouverture de la base de données impossible. Et pour
connection, tu dois simplement sélectionner une autre
feuille que celle où se retrouve tes données.
'---------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub
'---------------------------
Pour ceux que la chose intéresse, j'ai un fichier
exemple pour ceux qui le désirent !
Salutations!
"J-Dan" <anonymous@discussions.microsoft.com> a écrit
dans le message de news:2d86001c46a7e$710d3110
bonjour Denis,
j'ai teste ta solution et 2 points restent obscurs :
- les noms comportant une apostrophe generent une
erreur
"Erreur 3001 - Les arguments ..... ou semblent en
conflit..."
- il semble qu'il y ait un "effet latence", une requete
peut ne rien renvoyer de facon aleatoire "aucun
cheval .." alors que repetee quelques secondes plus tard,
ca marche.
Precision (pour Nicolas ;-))) :
remplacer
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
par
'Titre2 = Nom De l'étiquette Colonne A de ta base de
données
Rst.Find "cheval='" & Target & "'"
-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
crois
t'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
besoin
d'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
demandes !
.
Il y a une parade simple dans ces cas de figures
que je te soupçonne de la connaître ....
Rst.Find "cheval = '" & Replace(Target, "'", "''") & "'"
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois
d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro climat ????????????
-----Message d'origine-----
Bonjour J-Dan,
"2 points restent obscurs :"
APOSTROPHE : Il n'y a rien de nouveau à l'horizon, cela
est documenté. Il y a une parade simple dans ces cas de
que je te soupçonne de la connaître .... Effectivement
je me suis pas senti obligé lorsque j'ai écrit cette sub
tester tous les cas de figures ... et pour l'information
de Nicolas 65, voilà la ligne de code qu'il devra changer
cas échéant :
Dans la procédure :
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
Adopte plutôt cette syntaxe, que tes noms de chevaux
aient ou non une apostrophe, ça marcheras.
Rst.Find "Titre2 = '" & Replace(Target, "'", "''") & "'"
Titre2 étant le nom de l'étiquette de colonne B de ta
base de données.
EFFET DE LATENCE :
J'ai un fichier exemple, et j'ai obtenu le bon résultat
15 fois d'affiler ! Sans aucun problème !
Serais-tu victime d'un micro
climant ????????????????????????????????????
Ceci étant dit, toujours pour le bénéfice de Nicolas,
tu devrais utiliser ce qui suit plutôt que le code de la
procédure intiale. La raison, c'est si tu désires ouvrir
base de données suite à une première exécution du code,
tu dois avoir préalablement fermé la connection ouverte
code.Cette connection est représentée par la
variable "Conn ". Dans mon message précédent, je n'ai pas
connection "Conn.Close" ... cela rend temporairement
l'ouverture de la base de données impossible. Et pour
connection, tu dois simplement sélectionner une autre
feuille que celle où se retrouve tes données.
'---------------------------
Private Sub Worksheet_Deactivate()
Rst.Close
Set Rst = Nothing
Conn.Close
Set Conn = Nothing
End Sub
'---------------------------
Pour ceux que la chose intéresse, j'ai un fichier
exemple pour ceux qui le désirent !
Salutations!
"J-Dan" a écrit
dans le message de news:2d86001c46a7e$710d3110
bonjour Denis,
j'ai teste ta solution et 2 points restent obscurs :
- les noms comportant une apostrophe generent une
erreur
"Erreur 3001 - Les arguments ..... ou semblent en
conflit..."
- il semble qu'il y ait un "effet latence", une requete
peut ne rien renvoyer de facon aleatoire "aucun
cheval .." alors que repetee quelques secondes plus tard,
ca marche.
Precision (pour Nicolas ;-))) :
remplacer
'Titre2 = Nom De l'étiquette Colonne B de ta base de
données
Rst.Find "Titre2='" & Target & "'"
par
'Titre2 = Nom De l'étiquette Colonne A de ta base de
données
Rst.Find "cheval='" & Target & "'"-----Message d'origine-----
Bonjour Nicolas65,
De vouloir faire intervenir des informations de fichiers
fermés, c'est toujours un peu plus compliqué.. mais je
croist'avoir donné suffisamment d'informations pour que tu
puisses faire à ton tour un bout de chemin. Si tu as
besoind'autres informations spécifiques, le forum est toujours
là. Moi, je ne peux me permettre de faire ce que tu
demandes !
.