exporter des données en colonnes depuis des données en ligne

arno38000

XLDnaute Nouveau
Bonjour

J ai parcouru pas mal de post sur ce forum afin de trouver des infos sur ma recherche. j arrive à trouver quelques pistes mais mon niveau de debutant me bloque rapidement.

Voila ce que je tente de réaliser. j ai essayé d utiliser l enregistreur de macros mais sans trop de resultat.

Je possede un tableau dans un onglet (B), avec des données simples du type :
NOM Prenom Telephone Mail etc...
Ces données sont en lignes.

Je dois pouvoir exporter ces données (idéalement grâce à un bouton), ligne par ligne, dans un second onglet (A), mais cette fois en colonne.
Pour corser le tout, je dois pouvoir indiquer l'emplacement dans ce nouvel onglet (A) ou les données doivent se placer (doivent etre exportées). Pour être plus précis, les données de la ligne 1 dans l onglet (B) se placeront dans l onglet (A) à partir de la case C5; les données de la ligne 2 se placeront dans l onglet (A) à partir de la case D17.

Pourquoi l exportation via un bouton; tout simplement nous sommes deux à utiliser ce document et cela permet d automatiser l exportation de façon transparente pour un personne qui est encore bien moins doué que moi en informatique !

J'hésite entre crier A l aide ou au secours !
Donc si vous aviez une idée de comment résoudre mes recherches, un énorme merci.
De mon coté je cherche, et si j arrive à trouver, je partage.

Bonne journée
 

arno38000

XLDnaute Nouveau
Re : exporter des données en colonnes depuis des données en ligne

Bonsoir

Pour vous répondre, non je n ai pas réussi à trouver une solution "facile".

Si je ne dis pas de betise

"F1.Cells(i, 10).Copy F2.Cells(lig + 9, col + 1) 'pour copier l'objet"

lorsque vous mettez pour copier l objet, vous parlez de la photo ? C est le meme principe que pour les autres lignes c est bien cela ?

Je viens de tester pour essayer de placer la photo dans les cellules justifiées de D2 à D10 et H2 à H10 etc... Pour le moment je coince, mais je vais trouver....

Merci bien pour l enorme coup de main.
Des que j avance je vous fait signe.

Bonne soirée
 

arno38000

XLDnaute Nouveau
Re : exporter des données en colonnes depuis des données en ligne

bonjour
et bien je crois que j arrive a mes limites de comprehension. Impossible de trouver une solution pour ces satanees images.
Les placer de facon automatiques a un endroit precis est un defi trop important pour moi....:(
une petite idee pour me faire avancer ?
 

arno38000

XLDnaute Nouveau
Re : exporter des données en colonnes depuis des données en ligne

Bon,
J ai trouvé comment deplacer l'image à l emplacement "ideal", en modifiant la ligne
F1.Cells(i, 10).Copy F2.Cells(lig + 0, col + 2)

maintenant j ai essayé d exporter une image plus conséquente (voir mon fichier) et le résultat n est pas probant. J ai (il me semble) tout essayé, aussi bien sur l image et la cellule, que sur les modifs que je pouvais effectuer dans le code pour faire en sorte que cette image s adapte à l emplacement que je voudrais lui conférer (D2 à D9 justifiées).
J y arrive plus ou moins mais cela modifie également la cellule B2 de la meme hauteur que la photo.
Toujours idéalement il faudrait que cette photo vienne se placer dans les cellules D2 à D9 justifiées).

Voila ou j en suis. Je cherche, je cherche et j avance...... Mais le moral en a prit un coup :D
 

Pièces jointes

  • test arno image.xls
    169.5 KB · Affichages: 113

job75

XLDnaute Barbatruc
Re : exporter des données en colonnes depuis des données en ligne

Re,

Mais le moral en a prit un coup :D

Il faut toujours garder le moral car avec Excel il y a toujours une solution :eek:

1) En feuille base donnees affecter aux 3 images la propriété Déplacer et dimensionner avec les cellules.

2) Avant de copier la cellule de l'image, il faut ajuster la hauteur de ligne de la destination :

Code:
If F1.Rows(i).RowHeight > F2.Rows(lig).RowHeight Then _
  F2.Rows(lig).RowHeight = F1.Rows(i).RowHeight
3) Ne pas oublier au début de la macro de supprimer en feuille resultat (dans les bonnes colonnes) toutes les Shapes (images).

Nota : pour la RAZ j'utilise Delete (à cause des hauteurs de lignes).

A+
 

Pièces jointes

  • test arno image(1).xls
    150 KB · Affichages: 54

job75

XLDnaute Barbatruc
Re : exporter des données en colonnes depuis des données en ligne

Re,

Correction de mon post précédent.

Avec la propriété Déplacer et dimensionner avec les cellules, Delete de la RAZ supprime les objets avec les lignes.

Plus besoin de les supprimer un par un...

Fichier (2).

A+
 

Pièces jointes

  • test arno image(2).xls
    151.5 KB · Affichages: 45
Dernière édition:

job75

XLDnaute Barbatruc
Re : exporter des données en colonnes depuis des données en ligne

Bonjour arno38000, le forum,

Avoir des lignes de la hauteur des images n'est pas forcément le mieux.

Ce code en fin de macro réajuste la hauteur des lignes :

Code:
F2.DrawingObjects.Placement = xlMove 'déplacer sans dimensionner...
F2.Rows("2:" & F2.Rows.Count).AutoFit 'ajustement de la hauteur des lignes
F2.DrawingObjects.Placement = xlMoveAndSize 'déplacer et dimensionner...
On joue sur la propriété Déplacer et/sans dimensionner avec les cellules.

Fichier (2bis).

A+
 

Pièces jointes

  • test arno image(2bis).xls
    146.5 KB · Affichages: 55

arno38000

XLDnaute Nouveau
Re : exporter des données en colonnes depuis des données en ligne

Alors là ! je dis MERCI.
J avais reussi de mon coté à placer l image en D2, mais cela "resizé" aussi toute la ligne, et cela ne me convenait pas. Du coup avec ce nouveau morceau de code...... c est génial !
Je vais le décortiquer, toujours dans l idée de le comprendre. (les annotations vertes sont tres utiles, cela évite de perdre trop de temps).
Je commence à mieux visualiser le fonctionnement du codage, des onglets F1 F2 etc... Il me manque quand même la base, c est à dire la vision des "commandes", de leurs utilités, des liaisons etc.... Mais maintenant je connais l aide de VBA, alors...... ;)

Je vais pouvoir finaliser "mon projet".

J ai deja d autres choses en tête (mettre un "moteur de recherche" dans un autre onglet (F3) pour chercher et pointer vers un résultat précis dans le résultat de l export (F2) , mais je vais d abord utiliser la fonction recherche du site.....

Encore merci
 

arno38000

XLDnaute Nouveau
Re : exporter des données en colonnes depuis des données en ligne

Bonjour
Apres des heures de recherches (et je ne blague pas) j ai à nouveau besoin d aides !

J ai 3 feuilles,
la 1er pour la base de données
la 2eme pour le resultat de l export de ces données
la 3eme accueil.

Dans cette accueil, j ai cree une liste déroulante (avec les données de la base, 1er colonne)
J aimerai pouvoir lors de la selection d un des noms present dans cette liste pointer vers ce meme nom mais dans la page 2 (resultat).
J ai bien trouvé une solution sur le forum, en ajoutant une 4 eme page avec un lien pour chaque nom mais ce n est pas simple, car lors de l ajout de nouvelle données (creation d une ligne dans la base de données) il faut aussi aller dans cette page 4 pour creer un lien.
En piece jointe mon fichier peut etre plus explicite....

Merci de votre aide.
 

Pièces jointes

  • base fichier.xls
    246 KB · Affichages: 63

job75

XLDnaute Barbatruc
Re : exporter des données en colonnes depuis des données en ligne

Bonjour arno38000,

La macro dans le code de la feuille Accueil :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$E$13" Then Exit Sub
If Target = "" Then Exit Sub
Dim cible As Range
Exporter
With Sheets("export").[C:C,G:G]
  .Interior.ColorIndex = xlNone
  Set cible = .Find(Target, , xlFormulas, xlWhole)
End With
If cible Is Nothing Then Exit Sub
cible.Interior.ColorIndex = 6 'jaune
Application.ScreenUpdating = True
Application.Goto cible
End Sub
Fichier joint.

Nota : la formule de la liste de validation en E13 a été revue.

A+
 

Pièces jointes

  • base fichier(1).xls
    248 KB · Affichages: 55

job75

XLDnaute Barbatruc
Re : exporter des données en colonnes depuis des données en ligne

Re,

Avec un cadrage de la cellule cible c'est mieux :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$E$13" Or [E13] = "" Then Exit Sub
Dim cible As Range
Exporter
With Sheets("export").[C:C,G:G]
  .Interior.ColorIndex = xlNone
  Set cible = .Find(Target, , xlFormulas, xlWhole)
End With
If cible Is Nothing Then Me.Activate: Exit Sub
cible.Interior.ColorIndex = 6 'jaune
Application.Goto cible.Offset(, 1 - cible.Column), True 'cadrage
cible.Select
End Sub
Fichier (2).

A+
 

Pièces jointes

  • base fichier(2).xls
    246.5 KB · Affichages: 64

arno38000

XLDnaute Nouveau
Re : exporter des données en colonnes depuis des données en ligne

Bonjour
et à nouveau merci ! cela a l air tres simple une fois que l on a le code en face des yeux !
Je n arrive pas à tout comprendre. Il y a une fonction qui cherche dans la bonne feuille l equivalent du mot que je selectionne ? C est bien cela ? la fonction cherche "la correspondance" ? (Target.Adress)
bonne fin de journée
 

Discussions similaires

Réponses
8
Affichages
445
Réponses
4
Affichages
213

Statistiques des forums

Discussions
312 317
Messages
2 087 189
Membres
103 493
dernier inscrit
Vidal Salvador