Figer un groupe précis de cellules (Excel 2013)

Résolu
Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour, Je cherche à figer un groupe de cellules.
ou une photo devra venir s'afficher.

La fonction classique "Figer les volets" ne me propose pas cette possibilité.

Cela est-il possible ?


Merci

12 réponses

  1. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7
     
    Merci cs_Le Pivert.

    Bien trop tordu pour ma petite tête... Trop lourd, trop long et pas mal de cette sal.. d'anglais en commentaires.

    Mon emplacement d'affichage d'image est une fusion de cellules.

    J'ai réalisé une base de données avec toutes les photos. Je vais essayer de relier chacune cellule comportant les Marques, Types, Années avec un lien hyper texte.
    Il faut que je trouve comment afficher la photo dans l'écran prévu, soit, J3.
    0
  2. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    J'ai pensé que vous voulez afficher l'image selon un choix .... Est-ce que ceci pourrait vous aider : https://www.cjoint.com/?3ABwXQelnNt

    0
  3. Viking58 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   7
     
    Nous nous rapprochons...

    Le but recherché est le suivant:
    1) Figer l'écran de visualisation de photo, tout en arrivant à scroller les colonnes détaillant la miniature.
    2) Cliquer sur les cellules de Type, Pays, miniature (n'importe laquelle), et voir apparaitre la photo dans le cadre prévu à cet effet.

    J'ai 146 lignes de miniatures. (de la ligne 3 à la ligne 248).
    Comme dit plus haut, j'ai une base de données de 146 photos, numérotées de 1 à 146.

    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Moi pas du tout, désolé que ce ne soit pas dans le bon sens.
    0
  6. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    J'ai une petite idée, peut-être en utilisant un formulaire pour l'affichage de l'image.....
    Pouvez-vous mettre un fichier partiel sur https://www.cjoint.com/ et poster le lien ?

    0
  7. Raymond PENTIER Messages postés 58227 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    Non, Viking68, ce n'est pas possible de figer quelques cellules d'une feuille.

    Une solution serait d'afficher la photo sur une seconde feuille, et d'afficher les deux feuilles simultanément en faisant
    Affichage/Nouvelle fenêtre puis Affichage/Réorganiser tout/Vertical

    Cordialement.
    0
  8. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    C'est dommage que tu ne veuilles pas te mettre au vba. Voici un exemple, il suffit d'adapter les colonnes, les cellules fusionnées et ton dossier image

    http://www.cjoint.com/data3/3ADjE5hjqQU.htm
    0
    1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
       
      Bonjour,
      Au passage le principe est le même que ma proposition sans VBA, mais il semble que ce n'est pas ce qu'il désire selon le dernier message.
      Salutations.
      Le Pingou
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Au passage le principe est le même que ma proposition sans VBA

      C'est ce que je lui est soumis dans mon 1er message!

      Vu l'image qu'il a montré

      Alors là, je ne comprends plus rien!!!!!!!

      Le Pivert
      0
    3. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
       
      Bonjour,
      J'ai répondu trop vite, en effet c'est une très bonne alternative.
      Merci de votre compréhension.
      Salutations.
      Le Pingou
      0
    4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Pas de problème Le Pingou. Je trouve que cette alternative est très facile à mettre en place.

      Cordialement

      Le Pivert
      0
    5. Viking58
       
      > cs_Le Pivert

      C'est dommage que tu ne veuilles pas te mettre au vba. Voici un exemple, il suffit d'adapter les colonnes, les cellules fusionnées et ton dossier image

      http://www.cjoint.com/data3/3ADjE5hjqQU.htm
      Ne fonctionne pas chez moi.
      Aucun affichage

      J'ai un peu pratiqué le VBA il y a quelques années, mais je n'utilises Excel que rarement.
      Plus la patience.
      0
  9. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    ATTENTION Viking68

    Dans l'exemple que je t'ai donné, si tu as d'autres images elles vont être effacer!

    Je vois comment pallier ce problème
    0
  10. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    voici le code corrigé:

    Option Explicit
    Dim nom As String
    Dim chemin As String
    Dim image As Integer
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    image = ActiveSheet.Shapes.Count
    If image > 0 Then
    ActiveSheet.Shapes(image).Delete
    End If
     chemin = ThisWorkbook.Path & "\Dossierimage\" 'a adapter le nom du dossier jpg
    If Not Intersect(Target, Range("B:B")) Is Nothing Then 'a adapter les colonnes
     Selection.Offset(0, -1).Select
     ElseIf Not Intersect(Target, Range("C:C")) Is Nothing Then 'a adapter les colonnes
     Selection.Offset(0, -2).Select
    ElseIf Not Intersect(Target, Range("A:A")) Is Nothing Then 'a adapter les colonnes
    nom = Target.Value
    If nom = "" Then Exit Sub
    Range("F17:K37").Select 'cellule fusionnées a adapter
    InsererImage
     End If
    End Sub
     Sub InsererImage()
     Dim myPicture As String, MyRange As Range
     myPicture = chemin & nom & ".JPG"
    Set MyRange = Selection
    InsertAndSizePic MyRange, myPicture
    End Sub
    Sub InsertAndSizePic(Target As Range, PicPath As String)
    Dim p As Picture
    Dim hauteur, largeur As Integer
     Application.ScreenUpdating = False
    On Error GoTo EndOfSubroutine:
     Set p = ActiveSheet.Pictures.Insert(PicPath)
     largeur = p.Width
     hauteur = p.Height
    With Target
    If largeur > hauteur Then 'image portrait ou paysage
            p.Left = .Left
            p.Top = .Top
            p.Width = .Width
            Else
            p.Left = .Left
            p.Top = .Top
            p.Height = .Height
            End If
        End With
    EndOfSubroutine:
    End Sub
    

    0
  11. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Pour ceux qui seraient intéressés, voici la dernière mouture qui ne supprime que l'image contenue dans les cellules fusionnées. Ne pas tenir compte du précédent post

    Option Explicit
    Dim nom As String
    Dim chemin As String
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Retirerimages 'supprimer image cellules fusionnées
    chemin = ThisWorkbook.Path & "\Dossierimage\" 'a adapter le nom du dossier jpg
    If Not Intersect(Target, Range("B:B")) Is Nothing Then 'a adapter les colonnes
     Selection.Offset(0, -1).Select
     ElseIf Not Intersect(Target, Range("C:C")) Is Nothing Then 'a adapter les colonnes
     Selection.Offset(0, -2).Select
    ElseIf Not Intersect(Target, Range("A:A")) Is Nothing Then 'a adapter les colonnes
    nom = Target.Value
    If nom = "" Then Exit Sub
    Range("F17:K37").Select 'cellule fusionnées a adapter
    InsererImage
     End If
    End Sub
     Sub InsererImage()
     Dim myPicture As String, MyRange As Range
     myPicture = chemin & nom & ".JPG"
    Set MyRange = Selection
    InsertAndSizePic MyRange, myPicture
    End Sub
    Sub InsertAndSizePic(Target As Range, PicPath As String)
    Dim p As Picture
    Dim hauteur, largeur As Integer
     Application.ScreenUpdating = False
    On Error GoTo EndOfSubroutine:
     Set p = ActiveSheet.Pictures.Insert(PicPath)
     largeur = p.Width
     hauteur = p.Height
    With Target
    If largeur > hauteur Then 'image portrait ou paysage
            p.Left = .Left
            p.Top = .Top
            p.Width = .Width
            Else
            p.Left = .Left
            p.Top = .Top
            p.Height = .Height
            End If
        End With
    EndOfSubroutine:
    End Sub
    Sub Retirerimages()
    Dim Sh As Shape
    For Each Sh In ActiveSheet.Shapes
        If Sh.TopLeftCell.Address = "$F$17" Then 'a adapter cellules fusionnées
          Sh.Delete
           End If
      Next Sh
    End Sub
    
    

    0
  12. Viking58
     
    Merci encore à tous...
    Je ne veux pas partir dans des choses trop complexes.
    Puisque pour vous ça à l'air bon, je passe en résolu.
    0