Construire une base de données
Résolu
Le_Goret
-
psgpsg -
psgpsg -
Bonjour,
Je rencontre des difficultés dans la construction d'une base de données sur Excel 2003 de plusieurs milliers de lignes. J'ai 2 feuilles Excel. Dans une première feuille j'ai une sélection de sites. Dans une seconde j'ai une sélection de références. Je voudrais, sur une troisième feuille, affecter toutes les références à chaque site:
Feuille 1
Site
001
002
004
Feuille 2
Ref 1
Ref2
Ref3
Ref4
Ref5
Feuille 3
Site Ref
001 Ref 1
001 Ref 2
001 Ref 3
001 Ref 4
001 Ref 5
002 Ref 1
002 Ref2
002 Ref 3
002 Ref 4
002 Ref 5
... .....
Ci-joint une maquette de ce que je veux faire au cas où personne n'aurait compris.... Je ne maitrise pas la programmation VBA aussi un petit coup de main ne serait pas de refus!!! Un grand merci d'avance.
Le_Goret.
Je rencontre des difficultés dans la construction d'une base de données sur Excel 2003 de plusieurs milliers de lignes. J'ai 2 feuilles Excel. Dans une première feuille j'ai une sélection de sites. Dans une seconde j'ai une sélection de références. Je voudrais, sur une troisième feuille, affecter toutes les références à chaque site:
Feuille 1
Site
001
002
004
Feuille 2
Ref 1
Ref2
Ref3
Ref4
Ref5
Feuille 3
Site Ref
001 Ref 1
001 Ref 2
001 Ref 3
001 Ref 4
001 Ref 5
002 Ref 1
002 Ref2
002 Ref 3
002 Ref 4
002 Ref 5
... .....
Ci-joint une maquette de ce que je veux faire au cas où personne n'aurait compris.... Je ne maitrise pas la programmation VBA aussi un petit coup de main ne serait pas de refus!!! Un grand merci d'avance.
Le_Goret.
A voir également:
- Construire une base de données
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Tnt base de données vide - Forum TV & Vidéo
4 réponses
je pense que tu peut utiliser la formule =CONCAT(Sheet("feuil1").cel("A1"), " ", Sheet("feuil2").cel("A1")) dans la barre de formule
Puis tu l'étant à toutes les lignes.
(je ne suis pas sur sur le sheet)
Puis tu l'étant à toutes les lignes.
(je ne suis pas sur sur le sheet)
Oui il s'agit bien de la formule concatener. Celle_ci me permet d'associer chaque élément d'une colonne avec son équivalent dans une autre colonne. Moi je cherche en fait à associer chacun des éléments une fois avec tous les autres. Ainsi pour 2 colonnes de 5 éléments je voudrais avoir 5*5 soit 25 associations.
Salut Seregon. Je suis arrivé à obtenir la macro, je la laisse pour les gens:
Sub combinaison()
Sheets(3).Select
i = 4
Do While Cells(i, 1) <> ""
i = i + 1
Loop
Range(Cells(4, 1), Cells(i, 2)).Clear
i = 4 'première ligne de ta combi pour ta 3e feuille
isites = 3 'première ligne de la feuille site
Do While Sheets("Sites").Cells(isites, 1) <> ""
iref = 2 'première ligne de la feuille ref
Do While Sheets("Réf").Cells(iref, 1) <> ""
Sheets(3).Cells(i, 1) = Sheets("Sites").Cells(isites, 1)
Sheets(3).Cells(i, 2) = Sheets("Réf").Cells(iref, 1)
i = i + 1
iref = iref + 1
Loop
isites = isites + 1
Loop
End Sub
Sub combinaison()
Sheets(3).Select
i = 4
Do While Cells(i, 1) <> ""
i = i + 1
Loop
Range(Cells(4, 1), Cells(i, 2)).Clear
i = 4 'première ligne de ta combi pour ta 3e feuille
isites = 3 'première ligne de la feuille site
Do While Sheets("Sites").Cells(isites, 1) <> ""
iref = 2 'première ligne de la feuille ref
Do While Sheets("Réf").Cells(iref, 1) <> ""
Sheets(3).Cells(i, 1) = Sheets("Sites").Cells(isites, 1)
Sheets(3).Cells(i, 2) = Sheets("Réf").Cells(iref, 1)
i = i + 1
iref = iref + 1
Loop
isites = isites + 1
Loop
End Sub