Images

Bonjour,

Bonjour,
Pouvez vous me donner un petit coup de pouce concernant les image voila je souhaiterai avec une macro, importer toute mes photo en colonne B jusqu’à la ligne 2500 en les dimensionnant dans les cellule est il possible de faire sa je vous remercie beaucoup si vous pouviez m'aider.

merci encore

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    voici un exemple:

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

    1. es ce une macro?
  2. désolé cs_lepivert avec toutes les publicité qu'il y a sur le liens que tu m'as envoyé j'ai pensé que c'était pour me faire installé quelque chose que je ne souhaite pas en effet il y a bien une feuille avec des macro je n'ai pas réussi à activer les macros sur open office mais j'ai tout copier sur excel
    tout ce que j'arrive à faire fonctionner c'est la macro Sub AfficheFichiersEtChemins() le reste Nada ça ne fonctionne pas je crois que je n'ai pas les compétences pour faire fonctionner le reste à croire que je dois cliquer sur exécuter pour que tout fonctionne or à chaque fois il y a différent message d'erreurs que je n'arrive pas à résoudre
    1. Contributeur
      Je ne comprends pas, c'est un classeur Excel que j'ai mis. Tu n'as pas besoin de l'ouvrir avec Open pour ensuite le copier sur Excel.
      Il suffit de l'ouvrir avec Excel; Je l'ai enregistré, en Excel 2003 pour que tout le monde puisse s'en servir.

      @+
    2. @cs_Le Pivertdésolé cs_ le pivert es ce que cette macro fonctionne chez toi, moi j'ai un problème avec la liste index elle ne passe pas
    3. Contributeur
      @KARPUZvoici une version différente:

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

      Essaie la
    4. @cs_Le Pivertje t'en remercie cs_le pivert il ne sert à rien de m'envoyer plus d'exemples il faut que je suivent une paire de tuto avant de comprendre les codes que tu m'envoie, de plus il y a des sub et end sub à la suite dans ce code difficile de comprendre pour l'instant de quoi il s'agit je reviendrais dessus dans quelque semaine
  3. j'ai finalement trouvé comment insérer les images dans une boucle voici le code:

    Sub inserer_image()

    rep = "C:\Users\Desktop\Fichier\ "
    Fichier = Dir(rep & "*.jpg")

    i = 2

    Do While Fichier <> ""
    Cells(i, 3).Value = Fichier
    Cells(i, 3).Select
    Set Image = ActiveSheet.Pictures.Insert(re p & Fichier)
    Image.Name = Fichier

    i = i + 1
    Fichier = Dir

    Loop

    End Sub

    Seulement je ne sais pas mettre les images avec une dimensions forcé genre 70*70 et centrer sur la cellule (horizontalement et verticalement)
    Pouvez vous m'aider?
    1. Contributeur
      bonjour, as-tu essayé d'enregistrer une macro pendant que tu changeais les dimensions? cela va sans doute t'aider à comprendre comment le faire en VBA.
  4. Contributeur
    Je ne sais pas où tu as trouvé ce code, mais il n'est pas approprié à ce que tu veux faire. Il met toutes les images dans la même cellule.

    Voici le code qu'il te faut (le même que je t'avais adressé a ma 1ère intervention). A toi de l'adapter à ta convenance. Si sur ce code tu as des questions, je suis là pour t'aider:

    http://boisgontierjacques.free.fr/pages_site/lesimages.htm#ImportImages
    1. Finalement j’y suis arrivée avec votre aide seulement il me manque un dernier éléments pour finaliser mon projet
      Voila le propos : j’ai nommé toutes mes images que je souhaite importer.
      Toute les référence de mes images sont en colonne B et je souhaite que les images importés se place en face des des référence en colonne C plus précisément j’ai en B2 la référence 123 il faut que l’image nommé 123 se place en cellule C2 et ainsi de suite
      Est t-il possible de faire cela ?
      1. Finalement j’y suis arrivée avec votre aide seulement il me manque un dernier éléments pour finaliser mon projet
        Voila le propos : j’ai nommé toutes mes images que je souhaite importer.
        Toute les référence de mes images sont en colonne B et je souhaite que les images importés se place en face des des référence en colonne C plus précisément j’ai en B2 la référence 123 il faut que l’image nommé 123 se place en cellule C2 et ainsi de suite
        Est t-il possible de faire cela. ?
        1. Contributeur
          Voilà un exemple:

          http://www.cjoint.com/c/GBspMtT6PBQ
        2. @cs_Le Pivertil y a des sub l'un a la suite est ce que c'est un piège?
          ton exemple ne fonctionne pas ou alors il faut le sacrément le modifier afin de l'adapter a ce que je veux faire ce qui dépasse mes capacité comment je peux le faire à partir du code que j'ai créer voici le code:

          Sub inserer_image()

          rep = "C:\Users\erdogan\Pictures\branchement provisoire de goutiere\"
          'rep = "C:\Users\erdogan\Pictures\photo matiere premiere accessoire outillage\matiere premiere\raccords cuivre\photo decoupe et retouche pour catalogue excel\"
          'Fichier = Dir(rep & "*.jpg")

          Fichier = Dir(rep & Cells(i, 2).Value & "*.jpg")

          i = 2

          Do While Fichier <> ""

          Cells(i, 3).Value = Fichier

          Cells(i, 3).Select
          Set Image = ActiveSheet.Pictures.Insert(rep & Fichier)
          Image.Name = Fichier

          ActiveSheet.Shapes(Fichier).LockAspectRatio = msoFalse
          ActiveSheet.Shapes(Fichier).Height = 70
          ActiveSheet.Shapes(Fichier).Width = 70
          'Rows(i & ":" & i).RowHeight = 100
          Columns("C:C").ColumnWidth = 14
          Rows.RowHeight = 100
          'ActiveSheet.Shapes(Fichier).AutoShapeType = msoShapeRoundedRectangle
          ActiveSheet.Shapes(Fichier).IncrementLeft 15.5
          ActiveSheet.Shapes(Fichier).IncrementTop 15.5

          i = i + 1
          Fichier = Dir

          Loop

          End Sub

          j’ai en B2 la référence 123 il faut que l’image nommé 123 se place en cellule C2 et ainsi de suite
        3. Contributeur
          Mon code fonctionne très très bien. il suffit de chercher ton dossier images!

          il y a des sub l'un a la suite est ce que c'est un piège?

          Tu ne serais pas un peu parano. Il y a une sub pour chercher le dossier image et une sub pour importer ces images. Le reste sert à réinitialiser la feuille si on le désire. Quand on fait du vba il faut savoir lire les macros, c'est la moindre des choses. C'est ma dernière intervention, voici une seule sub, comme cela tu ne pourras pas te tromper:

          Sub ImportImages()
          Dim start As Single
          Dim répertoirePhoto, nf As Variant
          Dim img As Object
          Dim Derlig As Integer
          ActiveSheet.DrawingObjects.Delete
            répertoirePhoto = "C:\Users\erdogan\Pictures\branchement provisoire de goutiere\"
            nf = Dir(répertoirePhoto & "*.jpg") ' premier fichier
            Range("C1").Select
            start = Timer
            Do While nf <> ""
              Set img = ActiveSheet.Pictures.Insert(répertoirePhoto & nf)
              img.Top = ActiveCell.Top
              img.Left = ActiveCell.Left
              img.Height = 70
              img.Width = 70
              img.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
              ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) - 4))
              ActiveCell.EntireRow.RowHeight = img.Height
              ActiveCell.EntireColumn.ColumnWidth = (img.Width / 5.5) - 0.2
              nf = Dir ' suivant
              ActiveCell.Offset(1, 0).Select
            Loop
            Worksheets("Feuil1").Columns("B:B").AutoFit
             Derlig = Columns("B").Find(what:="*", searchdirection:=xlPrevious).Row
           MsgBox "Importation de " & Derlig & " images en " & Round(Timer - start, 2) & " sec", vbDefaultButton1, "Importer images"
          End Sub
          


          Ps dans le code que tu as montré, il n'y a aucune variable déclarée. Apprends toi à mettre Option Explicit au début de ton module.
      2. Vous ne m'aider pas du tout
        merci
        1. Contributeur
          bonsoir, c'est probablement parce que tu ne cherches pas un petit coup de pouce.
          nous demandes-tu si c'est possible de faire cela, ou nous demandes-tu de le faire pour toi?
          cs_Le Pivert t'a très gentiment donné un exemple qui montre que c'est possible, et que tu peux adapter pour réaliser ce que tu souhaites. Je suis surpris que cela ne t'aide pas du tout.