Export de données vers un tableau
Le
Apitos

Bonjour à tous,
Dans un classeur, j'ai une BDD depuis laquelle j'aimerais exporter des donn=
ées vers des tableaux situés dans d'autres feuilles dans le même clas=
seur.
Le classeur en pièce jointe.
http://cjoint.com/?ECFtZSBK4pm
Merci d'avance.
Dans un classeur, j'ai une BDD depuis laquelle j'aimerais exporter des donn=
ées vers des tableaux situés dans d'autres feuilles dans le même clas=
seur.
Le classeur en pièce jointe.
http://cjoint.com/?ECFtZSBK4pm
Merci d'avance.
Une idée ?
excuse de la reponse
mais il faut que tu envois une boule de cristal
amha la question est assez imprecise
--
André
Les nouvelles informations et les modifications sont saisies dans la feuill e "BDD".
J'aimerais, selon le type de matériel (Transformateur, Régulateur, Atel ier d'énergie, Batterie,...) regrouper les informations, depuis la feuill e "BDD", qui ont un lien avec un type de matériel donnée dans leurs tab leaux respectifs se trouvant dans les autres feuilles.
Voila !
Un TCD ne ferait pas l'affaire ?
Pour automatiser ce genre de choses, il faut déjà que toutes les
feuilles aient la même structure, ce qui n'est pas le cas entre Feuil1
et Feuil2 :/
L'état devra se présenté ainsi.
Feuil1 est destinée à recevoir les données (BDD).
Depuis la feuille2, tous les tableaux ont la même structure.
Chaque tableau à deux catégories dans la lignes 3.
Les détails des données vient en-dessous, selon le type de la catégor ie inscrite dans la ligne 3.
Manque-t-il un détail ?
Voila un essai :
'----------------
Dim bdd, plage, ln, lgn, crit1, crit2
Sub MaJ()
Set bdd = Sheets("BDD")
Set plage = Range("E4").CurrentRegion
plage.Offset(3, 2).Resize(plage.Rows.Count - 3, plage.Columns.Count - 2 ).ClearContents
crit1 = Range("E3")
crit2 = ""
If Range("J3") Like "Batterie*" Then
crit2 = "Batterie"
ElseIf Range("J3") Like "Onduleur*" Then
crit2 = "Onduleur"
End If
For ln = 5 To bdd.Range("A" & Rows.Count).End(xlUp).Row
If bdd.Range("D" & ln) = crit1 Then
lgn = Range("D" & Application.Max(5, Range("D" & Rows.Count). End(xlUp)(2).Row)).Row
Range("D" & lgn) = bdd.Range("A" & ln)
Range("E" & lgn) = bdd.Range("I" & ln)
Range("F" & lgn) = bdd.Range("F" & ln)
Range("F" & lgn) = bdd.Range("H" & ln) & "x" & bdd.Range("F" & ln)
Range("H" & lgn) = bdd.Range("E" & ln)
ElseIf crit2 <> "" And bdd.Range("D" & ln) Like crit2 & "*" Then
lgn = Range("D" & Application.Max(5, Range("D" & Rows.Count). End(xlUp)(2).Row)).Row
Range("D" & lgn) = bdd.Range("A" & ln)
Range("J" & lgn) = bdd.Range("I" & ln)
Range("K" & lgn) = bdd.Range("F" & ln)
Range("L" & lgn) = bdd.Range("E" & ln)
End If
Next ln
End Sub
'----------------
Seulement, chaque type de matériels est classé dans une ligne à part.
Or, on ne devra pas passé à une nouvelle ligne (Lng) et laisser des cas es vides quand on parcours le même site.
Et puis, s'il existe comme dans l'exemple le mot "Magasin", la ligne ne dev ra pas être exportée puisque le matériel n'est pas installé sur le site.