Selectionner des infos dans une base de données sans copier coller

lucaspelus

XLDnaute Nouveau
divers peroblèmes dans une base de données.

Bonjour à tous.

Je suis assez novice en excel, je connais quelques fonctions pour faire des moyennes, je sait utiliser les onglets etc.

J'ai un projet à réaliser qui sera utilisé par les membres d'une entreprise.

Je vous explique donc un des mes principaux problèmes :
Je cherche à « sélectionner » et « sauvegarder » des lignes de texte (comprenant plusieurs colonnes : une de description, une de prix …) sans faire du copier coller, par exemple en cliquant simplement sur la ligne.

Il y aurait 2 onglets sur la page excel : un qui sert de base de données et l’autre qui pioche dans cette base de données les éléments dont j’ai besoin.
En sélectionnant une ligne il faudrait qu’elle se copie sur un autre onglet pour avoir une page finale.


Un exemple ci-dessous très simplifié.(voir image jointe)

Cette page est la base données et il faudrait (par exemple) que je sélectionne dans le 1, les travaux A et dans le 2 les tvx base 'nettoyage'.
Ainsi ces 2 lignes iraient dans une autre page. Cette dernière page ressemble à un « devis » qui prend les éléments dont elle a besoin dans une base générale.
Je dois appliquer cette méthode pour un base assez conséquente qui utiliserait des menus déroulants pour la partie 1 travaux préparatoires, pour la partie 2 travaux de base etc…

Normalement j'ai rajouté la piece jointe au format excel

merci d'avance !!
 

Pièces jointes

  • excel.JPG
    excel.JPG
    23 KB · Affichages: 89
  • excel.JPG
    excel.JPG
    23 KB · Affichages: 89
  • excel.JPG
    excel.JPG
    23 KB · Affichages: 87
  • exemple_base_internet.xls
    14 KB · Affichages: 67
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

Bonjour lucaspelus et bienvenue,

Comme c'est ton premier message, il est sans doute utile de mentionner qu'un extrait de fichier (sans données confidentielles!) est plus facilement exploitable qu'une image. Faute de quoi, quelqu'un doit le faire ... et tu pourrais attendre ... un certain temps! Si ce n'est déjà fait, prends le temps de lire Lien supprimé
Si j'ai bien compris ta demande, le fait de sélectionner une ligne à l'aide de la souris pour que des infos se copient automatiquement, impliquerait l'utilisation de macros. Si tu te qualifies toi-même de novice, ce serait "mettre la charrue avant les boeufs".
Une première proposition en pièce jointe, mais qui procède de la manière inverse: on indique une "référence de prestation" dans le devis ... une fonction RECHERCHEV fait le reste.

A toi de voir si ça pourrait convenir ... Attention, par la suite, il conviendra d'ajouter une série de "petites astuces" pour éviter le messages d'erreurs, les erreurs d'encodage éventuelles, le "confort d'utilisation", etc ... Il ne s'agit donc bien que d'une proposition de base
 

Pièces jointes

  • lucaspelus.xls
    15 KB · Affichages: 70

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

Merci de ta réponse rapide.



Ta méthode marche très bien mais risque d'être trop lente pour choisir une centaine de travaux ... C'est ce qui m'ai demandé en fait : méthode rapide pour choisir des travaux parmi une grosse base de donnée.

Si tu as d'autres suggestions je suis à ton écoute.



J'avais procédé à peu près de la même facon : (voir explication2_internet.xls)

j'ai mis des "&" dans une colonne de l'onglet base de donnée et une fonction recherchev dans le devis comme ca je parcours la base et je met des "&" dès que je veux un des travaux mais ca ne marche pas encore très bien.
Dans le 1er onglet base de donnée je "coche" ce qui m'interesse. Dans l'onglet suivant, j'ai fait un "RECHERCHEV" le problème c'est que cela parcours tout le tableau donc on va récupérer plusieurs fois la même donnée (vous verrez dans l'onglet 2 le problème).

Dans l'onglet 3 j'ai utilisé une autre méthode : je fais la recherche du sigle "&" ligne par ligne. Je me retrouve avec le meme onglet que le n°1 moins les travaux que je ne veux pas.
Il ne manque plus qu'à créer un bouton compiler qui supprime les lignes vides.

Qu'en pensez vous ?


Merci beaucoup en tout cas
 

Pièces jointes

  • explication2_internet.xls
    17 KB · Affichages: 60
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

re-bonjour,

Ma première réponse était rapide, parce que la propsition était "une base de discussion" ... La seconde intervention s'est fait attendre, parce qu'elle nécessitait plus de temps (et au boulot, c'est une denrée dont je ne dispose pas toujours). Rentré au bercail et après une petite douche fraîche, voici la suite.
Ton idée n'est pas mauvaise, mais je crains qu'on ne puisse faire mieux que le résultat que tu as obtenu ... en tout cas pas moi :eek:
Voici donc une autre proposition en pièce jointe: dans la plage de F2 à G11, une formule qui liste les tavaux précédés de ton '&' (ceci dit, ce même caractère est utilisé pour "concaténer" ... il serait peut-être plus prudent d'en choisir un autre!?). Cette formule est forcément plus "ardue" qu'une recherchev ;) mais elle offre certains avantages, me semble-t-il.
Je me suis ensuite aperçu que tu comptais séparer, dans ton devis, les travaux préparatoires des travaux de base ... et peut-être d'autres encore. J'ai donc tenté une autre formule dans la plage I2 à I11, mais il me semble que ça va se compliquer singulièrement: comment savoir combien de travaux préparatoires seront à "recopier"? et donc, à quel endroit prévoir le début de la liste des travaux de base 2 lignes plus bas, 7 lignes, 20 lignes ???

... Là, je n'ai pas plus d'idées que de propositions, mais qui sait il se trouvera peut-être quelqu'un d'autre pour repartir sur d'autres (ou meilleures) bases?

Attention, les formules sont des formules matricielles: valider avec Ctrl+Shift+Enter
 

Pièces jointes

  • lucaspelus (V2).xls
    23 KB · Affichages: 62

Modeste

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

Bonjour,

Comme suite à un message privé, une tentative d'explication de la formule proposée, en pièce jointe.
 

Pièces jointes

  • lucaspelus (explication formule).xls
    36.5 KB · Affichages: 63

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

salut.
J'ai compris ta formule qui est interessante. Après je ne sais pas s'il vaut mieux utiliser ta formule ou le rechercheV ... j'ai du mal à voir les désavantages ou avantages de l'un par rapport à l'autre.

Maintenant je suis face à un nouveau problème : j'aimerais que les utilisateurs puissent compléter le base de donnée.
rergardez le fichier joint exmple :
j'aimerais que l'on puisse rajouter entre 2 lignes un nouveau travaux dans l'onglet bibliothèque et que cela le rajoute aussi dans les onglets "cocher" temp etc ...
je sais pas s'il faut une maccro ou une formule ...

Merci de votre aide ...
!le bouton compiler ne marche pas très bien mais sur le vrai fichier il fonctionne correctement
 

Pièces jointes

  • exmple.xls
    45 KB · Affichages: 141
  • exmple.xls
    45 KB · Affichages: 144
  • exmple.xls
    45 KB · Affichages: 135
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

Bonjour,

J'ai un peu de mal à te suivre :eek: ... envisageons donc les choses une à la fois: ta formule RECHERCHEV() t'oblige (si j'ai bien compris!) à exécuter ensuite une macro, dont le but serait de supprimer les messages d'erreur générés par cette formule. J'ai adapté la formule que je proposais dans ton exemple précédent à ce fichier-ci (pour alléger le fichier, j'en ai supprimé les feuilles "cocher" et "tzemp"). Dans ce fichier, on indique un 'x' (plutôt que ton '&'), dans la colonne C de la bibliothèque; les formules sont en E5:F39 de l'autre feuille.
J'ai ajouté rapidement une Mise en Forme Conditionnelle, pour montrer qu'on peut reproduire le format des données sources en plus de "recopier" l'info (bien que nous ayons déjà atteint le max des 3 Mfc possibles).

Dis-nous déjà si tu comprends mieux les avantages respectifs des deux façons de travailler.

L'autre solution serait de ne travailler que par macro.

Dans l'exemple précédent, tu faisais des totaux pour chaque type de travaux ... ils ont disparu?
 

Pièces jointes

  • lucaspelus (V3).zip
    13.7 KB · Affichages: 21

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

J'ai compris la formule, juste un petit problème dans l'application.
Elle marche pour certaines lignes et pas d'autres.
Je met un fichier joint !!
 

Pièces jointes

  • bibliothèque V2 (internet).xls
    33 KB · Affichages: 49
  • bibliothèque V2 (internet).xls
    33 KB · Affichages: 49
  • bibliothèque V2 (internet).xls
    33 KB · Affichages: 50

Modeste

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

Bonjour,

Ta première formule se trouvant en B4, c'est donc ligne()-3 qu'il faut utiliser (au début et à la fin de la formule)
Ne pas oublier non plus de valider avec Ctrl+Shift+Enter
 

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

Nouveau problème.
Si je veux grave à la formule étendre la selection des données.
Par exemple dans l'onglet "cocher" je veux récupérer les données des colonnes D et E et aller plus bas dans les lignes...
Je dois étendre la formule

=SI(LIGNE()-3>NB.SI(cocher!$A$1:$A$20;$A$1);"";INDEX(cocher!$B$1:$C$20;PETITE.VALEUR(SI(cocher!$A$1:$A$20=$A$1;LIGNE(cocher!$A$1:$A$20));LIGNE()-3);COLONNE()-1))

à

=SI(LIGNE()-3>NB.SI(cocher!$A$1:$A$20;$A$1);"";INDEX(cocher!$B$1:$E$40;PETITE.VALEUR(SI(cocher!$A$1:$A$20=$A$1;LIGNE(cocher!$A$1:$A$20));LIGNE()-3);COLONNE()-1))

Sauf que cela ne marche pas mais si je fais ctrl+shift et enter
...
Auriez vous une explication ?
(voir fichier joint)
 

Pièces jointes

  • bibliothèque V2 (internet).xls
    34.5 KB · Affichages: 56
  • bibliothèque V2 (internet).xls
    34.5 KB · Affichages: 60
  • bibliothèque V2 (internet).xls
    34.5 KB · Affichages: 55

Efgé

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

Bonjour,
Je ne suis pas spécialiste des formules matricielles, loin de là, mais je pense que toutes les matrices doivent avoir le même nombre de lignes.
Essai :
Code:
=SI(LIGNE()-3>NB.SI(cocher!$A$1:$A$40;$A$1);"";INDEX(cocher!$B$1:$E$40;PETITE.VALEUR(SI(cocher!$A$1:$A$40=$A$1;LIGNE(cocher!$A$1:$A$40));LIGNE()-3);COLONNE()-1))
Si non Modeste,que je salut au passage :), ou un autre te trouvera certainement une solution.
Cordialement
 

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

je me suis apercu de cette technique tout à l'heure mais ca ne marche quand meme pas ...
dur dur.
Le probleme vient de PETITE.VALEUR je crois que le SI donne faux et que du coup il y a un probleme
 
Dernière édition:

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

voivi les images de la demonstration du problème :
 

Pièces jointes

  • etape1.jpg
    etape1.jpg
    55 KB · Affichages: 64
  • etape1.jpg
    etape1.jpg
    55 KB · Affichages: 63
  • etape1.jpg
    etape1.jpg
    55 KB · Affichages: 70
  • etape3.jpg
    etape3.jpg
    54.4 KB · Affichages: 76
  • etape2.jpg
    etape2.jpg
    54.9 KB · Affichages: 71
  • etape3.jpg
    etape3.jpg
    54.4 KB · Affichages: 74
  • etape2.jpg
    etape2.jpg
    54.9 KB · Affichages: 75
  • etape4.jpg
    etape4.jpg
    54.4 KB · Affichages: 76
  • etape3.jpg
    etape3.jpg
    54.4 KB · Affichages: 70
  • etape2.jpg
    etape2.jpg
    54.9 KB · Affichages: 75

Modeste

XLDnaute Barbatruc
Re : Selectionner des infos dans une base de données sans copier coller

re-bonjour, bonjour Efgé (à qui je retourne son salut),

Pour être certain de ne pas raconter d'âneries, puisqu'Efgé donnait la bonne piste, mais que lucaspelus semblait insister, pour être certain, disais-je, j'ai modifié les formules du nouvel exemple transmis et ne peux que confirmer: dans la formule proposée, il faut que toutes les plages soient de tailles identiques.
J'ai testé
Code:
=SI(LIGNE()-3>NB.SI(cocher!$A$1:$A$[COLOR="Red"][B]200[/B][/COLOR];$A$1);"";INDEX(cocher!$B$1:$C$[COLOR="red"][B]200[/B][/COLOR];PETITE.VALEUR(SI(cocher!$A$1:$A$[B][COLOR="red"]200[/COLOR][/B]=$A$1;LIGNE(cocher!$A$1:$A$[B][COLOR="red"]200[/COLOR][/B]));LIGNE()-3);COLONNE()-1))
... et ne rencontre pas de problème ... ou alors, quelque chose m'échappe :confused:

Ceci dit, si la feuille "cocher" ne contenait pas autant de lignes vides :p, on aurait pu nommer la plage avec la fonction DECALER, de manière à la rendre "dynamique"
 

lucaspelus

XLDnaute Nouveau
Re : Selectionner des infos dans une base de données sans copier coller

je l'ai recopiée et ca marche (cellule jaune sur fichier joint) mais quand je copie la formule sur les lignes en dessous(cellules oranges sur fichier joint) ca ne marche pas
Modeste, tu pourrais m'envoyer le fichier ou tu l'as recopier (la formule) pour que je vois ce qui déconne ?

Ou au mieux applique la formule pour une vingtaine de cellules dans le 2e onglet car si j'enlève le "&" qui est devant la premiere ligne : "travaux relatif au canalisation" de l'onglet cocher, dans le 2e onglet il s'affiche quand même ce que je ne comprends pas
 

Pièces jointes

  • bibliothèque V2 (internet).xls
    37.5 KB · Affichages: 42
  • bibliothèque V2 (internet).xls
    37.5 KB · Affichages: 42
  • bibliothèque V2 (internet).xls
    37.5 KB · Affichages: 49
Dernière édition:

Discussions similaires

Réponses
7
Affichages
462

Statistiques des forums

Discussions
312 922
Messages
2 093 644
Membres
105 774
dernier inscrit
Tibenjah