begin process at 2010 02 10 10:08:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Insertion automatique d'images sous Excel 2007


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insertion automatique d'images sous Excel 2007

mardi 16 juin 2009 à 16:07:40 | Insertion automatique d'images sous Excel 2007

AuroreC

Bonjour,

Je cherche à insérer une image dans la colonne 2 d'un fichier excel à partir d'informations qui seraient saisies dans la colonne 1 de ce même fichier.

Je pensais avoir trouvé mon bonheur avec l'exemple ci-dessous, mais le code ne marche pas chez moi ?

http://www.vbfrance.com/forum/sujet-INSERTION-IMAGE-VBA-EXCEL-2007-PARTIR-TABLEAU-DONNEES_1215670.aspx

Merci,
Aurore
mardi 16 juin 2009 à 16:11:27 | Re : Insertion automatique d'images sous Excel 2007

AuroreC

J'ai oublié de préciser : Avec ce code, il me met "400" comme erreur (rien de plus, uniquement le chiffre 400 lorsque j'essaye d'exécuter le code).
jeudi 18 juin 2009 à 19:52:18 | Re : Insertion automatique d'images sous Excel 2007

Orohena


Salut,

Peux-tu envoyer le code et aussi me dire à quelle instruction se produit l'erreur 400 ?

Amicalement
vendredi 19 juin 2009 à 09:10:52 | Re : Insertion automatique d'images sous Excel 2007

AuroreC

Bonjour,

J'ai essayé le code qui a été validé "correct" de la page 2 de ce fil, c'est à dire le code ci-dessous :

Sub j_espere_que_ca_marche()
    Dim i As Integer, path As String, sep As String, img As String
    sep = Application.PathSeparator
    path = ActiveWorkbook.path & sep & "images" & sep
' balaye les 700 lignes
    For i = 1 To 700
' indique à Excel où insérer l'image
        Cells(i, 2).Select
' insère une image jpg
            img = path & Cells(i, 1).Value & ".jpg"
            If Dir(img) = "" Then
               MsgBox "Image """ & img & """ non trouvée"
            Else
               ActiveSheet.Pictures.Insert(path & Cells(i, 1).Value & ".jpg").Select
            End If
' ajuste la hauteur de la ligne, avec une marge inférieure de 10 pts
            Rows(i).RowHeight = Selection.Height + 10
    Selection.Top = Cells(i, 2).Top
Selection.Left = Cells(i, 2).Left
    Next

End Sub


Pour l'erreur "400", je suis malheureusement débutante totale et je n'ai pas compris comment faire pour savoir à quoi elle correspond ? Il m'affiche simplement une fenêtre d'erreur lors de l'exécution du code qui indique "400", et rien de plus ?

Par contre, ce matin j'ai une nouvelle erreur (en plus de "400"), il me dit :
"c....\images\.jpg non trouvée" ?
J'ai pourtant bien un dossier images avec des .jpg à l'intérieur ? (et d'ailleurs, hier encore il ne m'indiquait pas cette erreur...)

Merci pour ton aide !!
Aurore

samedi 20 juin 2009 à 00:07:25 | Re : Insertion automatique d'images sous Excel 2007

Orohena


Bonjour Aurore

Merci pour le code.

Peux-tu exécuter le Sub en mode pas-à-pas et me dire sur quelle instruction se produit l'erreur ?

Qu'y a-t-il dans la variable img lorsque l'erreur se produit ?

Quelle est ta version d'Excel ?

Le message "c....\images\.jpg non trouvée" indique que la boucle a atteint une ligne où la colonne 1 est vide. Par exemple si seules les cellules A1-A40 de ta feuille de calcul contiennent un nom d'image, tu dois remplacer l'instruction For i = 1 To 700 par For i = 1 To 40 ; ok ?

désolé pour le délai de réponse : décalage horaire.

Amicalement
lundi 22 juin 2009 à 09:46:44 | Re : Insertion automatique d'images sous Excel 2007

AuroreC

Bonjour,

Ok je dois donc modifier le code en fonction du nombre de ligne remplie sur mon document ? Y a-t-il possitilité de faire ça automatiquement ou pas ?

Pour l'erreur 400, en faisant F8 en pas à pas, il bloque sur cette ligne :

Rows(i).RowHeight = Selection.Height + 10

Et il me marque "erreur 1004" : j'ai regardé dans l'aide, et rien sur cette erreur ?

Je suis sous Excel 2007.

Pour les tests, j'utilise seulement 3 imagers .jpg.

Amicalement,

Aurore

PS : désolée pour le délai de réponse : week-end

mardi 23 juin 2009 à 21:46:46 | Re : Insertion automatique d'images sous Excel 2007

Orohena


Bonjour

J'ai modifié le code pour que le programme s'adapte automatiquement au nombre de lignes :


Sub j_espere_que_ca_marche()
    Dim i As Integer, path As String, sep As String, img As String
    sep = Application.PathSeparator
    path = ActiveWorkbook.path & sep
    i = 1
' balaye la colonne A jusqu'à cellule vide
    Do Until Cells(i, 1).Value = ""
' indique à Excel où insérer l'image
            Cells(i, 2).Select
' insère une image jpg
            img = path & Cells(i, 1).Value & ".jpg"
            If Dir(img) = "" Then
               MsgBox "Image """ & img & """ non trouvée"
            Else
               ActiveSheet.Pictures.Insert(path & Cells(i, 1).Value & ".jpg").Select
            End If
' ajuste la hauteur de la ligne, avec une marge inférieure de 10 pts
            Rows(i).RowHeight = Selection.Height + 10 ' mettre en commentaire
            Selection.Top = Cells(i, 2).Top
            Selection.Left = Cells(i, 2).Left
            i = i + 1
    Loop
End Sub


Je rencontre la même erreur que toi, pourtant je suis sous la même version (Excel 2003) que lorsque j'ai écrit ce code ; bizarre ! Je n'ai pas encore trouvé pourquoi la méthode RowHeight ne fonctionne pas ; je cherche...

Chez moi, si je mets la ligne en cause en commentaire, le programme tourne sans erreur, mais évidemment les images se chevauchent. C'est la même chose chez toi ?

Amicalement

mercredi 24 juin 2009 à 10:56:13 | Re : Insertion automatique d'images sous Excel 2007

AuroreC

Bonjour,

Oui, ça me fait exactement la même chose !!

Amicalement,
Aurore

mercredi 24 juin 2009 à 20:14:44 | Re : Insertion automatique d'images sous Excel 2007

Orohena


Bon, il ne reste plus qu'à régler le problème de dimensionnement vertical. Je te recontacte dès que j'ai la solution.
jeudi 25 juin 2009 à 08:35:40 | Re : Insertion automatique d'images sous Excel 2007

AuroreC

Ok merci !!

1 2

Cette discussion est classée dans : images, excel, image, insertion, automatique


Répondre à ce message

Sujets en rapport avec ce message

insertion automatique d'image [ par romdev ] Salut, J'ai un probleme en visual basic 6.0, j'aimerai créer une boucle qui m'insererait un nombre indeterminer d'images dans ma fram. Je n'ai trouver Insertion d'image en VBA Excel 2007 à partir d'un tableau de données [ par Theodavid ] Bonjour,voilà mon problème :j'ai une liste de 700 produits avec leurs références dans un tableau excel et j'ai un dossier avec les 700 images nomées p Insertion d'images [ par benji78 ] Bonjour à tous, je réalise une application bibliothèque d'image.Dans cette application il y a aura plus de 1800 images, suivant le filtre de recherche Excel et insertion d'images dynamiques [ par crichard4 ] Bonjour à tous, J'ai déjà trouvé quelques éléments de réponses mais qui ne correspondent pas exactement à ce que je recherche. Voici ma configuration Image dynamique excel et insertion dans un powerpoint [ par elo37150 ] Bonjour, Novice en VBA, je souhaiterais savoir s'il est possible de mettre une image dynamique d'excel dans un powerpoint sans qu'excel ne s'ouvre. Insertion image dans Userform VBA Excel [ par takin55 ] Bonjourvoila je cherhce a inserer une image dans mon userform mais je sais pas comment faire sous windows on fait parcourir ......  mais dans la créat insertion d' ole excel dans un form [ par David78390 ] Bonjour,Avant ce post j'ai bien cherhé mais rien trouvé, donc je me tourne vers vous<img src="http://www.vbfrance.com/imgs2/s VBA Excel (Image) [ par starboost ] Bonjour à tous, Je suis entrain de créer un formulaire pour classer des DVD. J'aimerais pouvoir inserer une image (la jackette du DVD) à chaque DVD c Injecter une image d'un picturebox dans Excel sans passer par un fichier image [ par narfight ] Bonjours, Chaque fois qu'on parle de mettre une image dans une cellule Excel, on propose ceci : [code=vb]ActiveSheet.Pictures.Insert("D:\Documents\Me Transefert de fichiers Serveur ==> Client [ par ssefyou ] Salut et bon année 2010[^^happy13] j'ai un petit projet a realisé pour mes etudes et je sais pas d'ou commancer[^^happy8]. le but c'est de realiser


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales