OVH Cloud OVH Cloud

Export de données vers des tableaux

24 réponses
Avatar
Apitos
Bonjour =E0 tous,

Dans un classeur, j'ai une BDD depuis laquelle j'aimerais exporter des donn=
=E9es vers des tableaux situ=E9s dans d'autres feuilles dans le m=EAme clas=
seur.

Les tableaux sont de structures diff=E9rentes dans les colonnes.

Par exemple:

- En feuil2, "Groupes =E9lectrog=E8ne" =E0 4 colonnes et "Ondulaires" =E0 5=
colonnes.

- En feuil3, "Ateliers d'=E9nergie" =E0 5 colonnes et "Batteries de l'ateli=
er" =E0 4 colonnes.

Comment peut-on g=E9n=E9raliser le traitement dans une seule boucle.


Le classeur en pi=E8ce jointe.

http://www.cjoint.com/c/EFtrAL0Rhyd

Merci d'avance.

10 réponses

1 2 3
Avatar
DanielCo
http://www.cjoint.com/c/EFvkGlKKAPv
Daniel


Bonjour Daniel,

Voila le classeur :

http://www.cjoint.com/c/EFvj5bylCwG
Avatar
Apitos
Bonjour,

Un site devra occupé une seule ligne dans le tableau pas plus comme l'ind ique cette image :

http://www.cjoint.com/c/EFvmSfUN2tG
Avatar
DanielCo
C'est tout ce que tu as oublié, comme contrainte ? Est-ce qu'il ne peut
pas y avoir deux fois le mmême type d'équipement pour le même site ?


Bonjour,

Un site devra occupé une seule ligne dans le tableau pas plus comme l'indique
cette image :

http://www.cjoint.com/c/EFvmSfUN2tG
Avatar
Apitos
C'est tout ce que tu as oublié, comme contrainte ? Est-ce qu'il ne peut
pas y avoir deux fois le mmême type d'équipement pour le même site ?



C'est possible, seulement lorsqu'il y a un seul "Transformateur" et un seul "Régulateur", ils devront se situés sur la même ligne du tableau !
Avatar
DanielCo
http://www.cjoint.com/c/EFvpwc5aN1v
Daniel


C'est tout ce que tu as oublié, comme contrainte ? Est-ce qu'il ne peut
pas y avoir deux fois le mmême type d'équipement pour le même site ?



C'est possible, seulement lorsqu'il y a un seul "Transformateur" et un seul
"Régulateur", ils devront se situés sur la même ligne du tableau !
Avatar
Apitos
Bonjour,

J'ai rencontré un cas (Plus d'un nom de site dans la tableau à remplir) ou le code suivant :

'---------
Ligne = Application.Match(C.Offset(, -3), .[D :D], 0)
If Not IsNumeric(Ligne) Then
L1 = L1 + 1
Ligne = L1
ElseIf Application.CountA(.Cells(Ligne, 8).Resi ze(, 4)) = 0 Then
Ligne = L1
Else
L1 = L1 + 1
Ligne = L1
End If
'---------

Me trouve toujours la première occurrence seulement à savoir la ligne =8.

Mais dans le cas d'une autre occurrence suivante, Application.Match ne la t rouve pas !

http://www.cjoint.com/c/EFwwEinOvrI
Avatar
Apitos
J'ai essayé de remplacer le code précédent par celui-ci :

'-------------------------
Dim Ps As Range
If Application.CountA(.[D:D], C.Offset(, -3)) > 0 Then
'MsgBox "Nombre de " & C.Offset(, -3) & " = " & Application.CountA(.[D:D], C.Offset(, -3))
Set Ps = .[D:D].Find(C.Offset(, -3), Look In:=xlWhole)
If Not Ps Is Nothing Then
firstAddress = C.Address
Do
Ligne = Ps.Row
' Vérifier si les trois cellules à droite si elles sont vides
If Application.CountA(.Cells(Ligne, 5).Resize(, cln - 1 - 4)) = 0 Then
Exit Do
Else
Set Ps = .[D:D].FindNext(Ps)
End If

Loop While Not Ps Is Nothing And Ps.Add ress <> firstAddress
Else
L1 = L1 + 1
Ligne = li1
End If
End If

'-------------------------
Mais j'ai l'erreur :

Erreur d'exécution '9':

L'indice n'appartient pas à la sélection.

sur la ligne :

'-------------------
Set Ps = .[D:D].Find(C.Offset(, -3), LookIn:=xlWhole)
'-------------------
Avatar
DanielCo
Bonjour,
Je n'ai ni le code ni les données pour pouvoir tester. Peux-tu me les
faire parvenir.
Daniel


Bonjour,

J'ai rencontré un cas (Plus d'un nom de site dans la tableau à remplir) ou le
code suivant :

'---------
Ligne = Application.Match(C.Offset(, -3), .[D:D],
0) If Not IsNumeric(Ligne) Then
L1 = L1 + 1
Ligne = L1
ElseIf Application.CountA(.Cells(Ligne,
8).Resize(, 4)) = 0 Then Ligne = L1
Else
L1 = L1 + 1
Ligne = L1
End If
'---------

Me trouve toujours la première occurrence seulement à savoir la ligne=8.

Mais dans le cas d'une autre occurrence suivante, Application.Match ne la
trouve pas !

http://www.cjoint.com/c/EFwwEinOvrI
Avatar
Apitos
Bonjour,

Bon voila ou j'en suis avec mon classeur :

http://www.cjoint.com/c/EFxjpaWY6j1

Cela permettra de bien voir l'erreur :

Erreur d'exécution '9':

L'indice n'appartient pas à la sélection.
Avatar
DanielCo
Les lignes en anomalie concernent les types d'équipement "Batterie sans
entretien 48 V" et "Redresseur" qui n'ont pas de correspondance dans
les feuilles. Est-ce que c'est normal ? Quant à l'erreur, étant donné
qu'elle est due à ta modification du code, j'aimerais autant avoir, si
possible, une version du code avant modification.
Daniel


Bonjour,

Bon voila ou j'en suis avec mon classeur :

http://www.cjoint.com/c/EFxjpaWY6j1

Cela permettra de bien voir l'erreur :

Erreur d'exécution '9':

L'indice n'appartient pas à la sélection.
1 2 3