Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

chris6999

XLDnaute Impliqué
Bonjour

Je pensais pouvoir remplir une fiche avec les informations contenues dans une base de données par une formule, mais cela paraît compliqué.
Je pense que je vais devoir mettre en place une macro et je fais appel à votre expertise pour le faire.

J’ai dans un même fichier, une base de données à compléter ligne par ligne.
Je souhaite pouvoir extraire la valeur de certaines cellules pour compléter une « fiche » disponible dans une autre feuille, lorsque sur la ligne concernée la valeur de la colonne L est égale à « D » (valeur qui s’incrémente actuellement par macro en double cliquant sur la cellule).
Le mieux serait que la macro d’incrémentation se lance lors de ce double clic déjà enregistré dans le WORKSHEET.

Exemple lorsque sur la ligne la valeur de la cellule de la colonne L est égale à D, alors exporter les valeurs des cellules de la ligne correspondante dans la fiche de suivi :
Valeur de la ligne dans la colonne A va s’incrémenter dans la cellule L20
Valeur de la ligne dans la colonne B va s’incrémenter dans la cellule J20
Valeur de la ligne dans la colonne F va s’incrémenter dans la cellule I52
Etc …

Le mieux serait de compléter la fiche sans forcément visualiser, c'est-à-dire en restant sur la feuille base de données.

Je ne sais pas si j’ai été suffisamment clair. J’espère en tous cas que vous pourrez m’aider.
J’ai mis un fichier en exemple qui sera sans doute plus explicite

Merci et bonne journée
 

Pièces jointes

  • fichier test.xls
    265.5 KB · Affichages: 44
  • fichier test.xls
    265.5 KB · Affichages: 46
  • fichier test.xls
    265.5 KB · Affichages: 41

ERIC S

XLDnaute Barbatruc
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

Bonjour

pour le principe

essaie en D1 de mettre le numéro de ligne qui t'intéresse dans la base (exemple 7 pour PlanPlan)

en L20 :
=INDIRECT("'Base de données'!A" & $D$1) & " " & INDIRECT("'Base de données'!B" & $D$1)

tu changes D1, L20 change

tu ne veux rien voir en D1 : écrit en blanc sur fond blanc
tu veux remplir par macro, macro dans feuil1

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A7:A10000")) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Sheets("Fiche de Suivi").Range("D1").Value = Target.Row
Cancel = True
 End Sub
 

chris6999

XLDnaute Impliqué
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

Bonjour ERIC
Merci pour ta proposition qui fonctionne mais qui ne correspond pas à mes besoins.
Comme je l'ai précisé je souhaite que l'utilisateur qui génère la fiche reste sur la base de données et que l'incrémentation se fasse à partir du double clic sur la colonne L.

Merci quand même en tous cas
Cordialement
 

ERIC S

XLDnaute Barbatruc
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

Re
ma proposition est un exemple, à adapter, qui fonctionne tout au mmoins par rapport à ce que j'ai compris de ton problème.

je voulais te faire tester la fonctionIndirect, qui permet dans ce cas avec le numéro de ligne de récupérer les infos d ela feuille Bdd.
Si tu veux imprimer, 2 solutions (au moins) :
impression directe ou lancement de l'aperçu
Voir I1 feuille BDD
 

Pièces jointes

  • fichier testES.xls
    256 KB · Affichages: 53
  • fichier testES.xls
    256 KB · Affichages: 53
  • fichier testES.xls
    256 KB · Affichages: 53

chris6999

XLDnaute Impliqué
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

Re Eric

En fait le problème n'est pas d'imprimer.
Ce que je souhaite c'est juste alimenter la fiche à partir du double clic dans la colonnes L de la BD.
Si je ne trouve pas d'autre solution il faudrait peut-être que je complète ma macro "double clic" afin d'ncrémenter le N° de ligne dans D1 de la feuille "Fiche de suivi" (au lieu d'être obligé de saisir cette donnée manuellement).
Je ne sais pas si c'est possible?
Qu'en pensez-vous?
Cordialement
 

ERIC S

XLDnaute Barbatruc
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

Re

mon fichier exemple met déjà à jour D1 en fonction du doubleclic
il suffit d'invalider ou de supprimer les lignes d'impression

en laissant le code suivant dans le vba de feuil2 :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Intersect(Target, Range("L7:L10000")) Is Nothing Then Exit Sub
 If Target.Offset(0, -11).Value = "" Then Exit Sub
 Sheets("Fiche de Suivi").Range("D1").Value = Target.Row
 Cancel = True
End Sub
tu double clic en L, s'il y a quelque chose en A, la fiche est mise à jour
 

chris6999

XLDnaute Impliqué
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

Je vien de tester dans mon fichier réel. Le problème c'est que lorsque je double clic dans la colonne "L" je n'ai plus la valeur "D" qui s'affiche.
C'est important car sinon on a du mal à voir ce qui a été imprimé.
J'ai essayé de mettre les deux codes à la suite mais cela ne fonctionne pas.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect([L7:L2000], Target) Is Nothing Then
Cancel = True
[L7:L2000].ClearContents
Target = "D"

If Intersect(Target, Range("L7:L10000")) Is Nothing Then Exit Sub
If Target.Offset(0, -11).Value = "" Then Exit Sub
Sheets("Fiche de Suivi").Range("D1").Value = Target.Row
Cancel = True
End If
End Sub


Avez-vous une idée?
Cordialement
 

ERIC S

XLDnaute Barbatruc
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

re

je ne sais pas trop ce que tu veux faire avec ton D :

dans ton code à chaque fois tu effaces toutes les cellules entre L7 et L2000 avant de remettre D cela veut dire que tu ne gardes pas l'historique, mais peut-être est-ce ce que tu veux

est-ce qu'il faut que tu aies D pour imprimer ou est-ce que D signale que c'est déjà imprimé et qu'il ne faut pas le refaire ?
 

ERIC S

XLDnaute Barbatruc
Re : Incrémentation d'une fiche à partir des valeurs d'une ligne saisies dans une BD

re

ce que j'en comprends
 

Pièces jointes

  • fichier testES.xls
    251.5 KB · Affichages: 62
  • fichier testES.xls
    251.5 KB · Affichages: 56
  • fichier testES.xls
    251.5 KB · Affichages: 58

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 870
dernier inscrit
Armisa