Afficher une image sous condition
Résolu
Sacha_H
Messages postés
12
Statut
Membre
-
Sacha_H Messages postés 12 Statut Membre -
Sacha_H Messages postés 12 Statut Membre -
Bonjour,
J'ai un fichier Excel dans lequel j'aimerais :
- Faire insérer à l'utilisateur leur signature scannée dans un onglet "paramétrage"
- Lui faire nommer "Signature" : insertion - Nom - Définir
Pour qu'ensuite (et c'est là que j'ai besoin de vous) : dans les onglets "opérationnels" lorsqu'il cliquera sur le bouton "Valider" une macro vienne copier-coller l'image "Signature" dans :
- La cellule W32 si Z1 = 1
- Les cellules W32 + W73 si Z1 = 2
- Les cellules W32 + W73 + W114 si Z1 = 3
Je ne sais pas si c'est très clair, n'hésitez pas à me poser des questions ...
Grand merci par avance pour votre aide
Sacha
J'ai un fichier Excel dans lequel j'aimerais :
- Faire insérer à l'utilisateur leur signature scannée dans un onglet "paramétrage"
- Lui faire nommer "Signature" : insertion - Nom - Définir
Pour qu'ensuite (et c'est là que j'ai besoin de vous) : dans les onglets "opérationnels" lorsqu'il cliquera sur le bouton "Valider" une macro vienne copier-coller l'image "Signature" dans :
- La cellule W32 si Z1 = 1
- Les cellules W32 + W73 si Z1 = 2
- Les cellules W32 + W73 + W114 si Z1 = 3
Je ne sais pas si c'est très clair, n'hésitez pas à me poser des questions ...
Grand merci par avance pour votre aide
Sacha
A voir également:
- Afficher une image sous condition
- Excel cellule couleur si condition texte - Guide
- Légender une image - Guide
- Image iso - Guide
- Agrandir une image - Guide
- Reduire taille image - Guide
12 réponses
Salut,
Récupères sur ce lien un fichier exemple.
Pour que ce code fonctionne, il est impératif que la signature soit enregistrée en format .JPG et se trouve dans le même répertoire.
Pour ne pas toucher au code, remplaces la photo déjà nommée Signature.JPG par la photo de ta signature du même nom.
https://www.cjoint.com/?lEvbEKRoTT
Si le code répond à tes attentes, je le reverrais pour essayer de l'alléger
Option Explicit
Sub image()
Dim image As Picture
Dim design As String
'efface les images
Dim photo As Shape
For Each photo In Worksheets("Feuil1").Shapes
If photo.Name Like "*Photo*" Then
photo.Delete
End If
Next
'Suivant valeur en Z1 colle image
If [Z1] = 1 Then
[W32].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo1"
.Height = [W32].Height
.Width = [W32].Width
End With
End If
If [Z1] = 2 Then
[W32].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo2"
.Height = [W32].Height
.Width = [W32].Width
[W73].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo3"
.Height = [W73].Height
.Width = [W73].Width
End With
End With
End If
If [Z1] = 3 Then
[W32].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo4"
.Height = [W32].Height
.Width = [W32].Width
[W73].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo5"
.Height = [W73].Height
.Width = [W73].Width
[W114].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo6"
.Height = [W114].Height
.Width = [W114].Width
End With
End With
End With
End If
[A1].Select
End Sub
Récupères sur ce lien un fichier exemple.
Pour que ce code fonctionne, il est impératif que la signature soit enregistrée en format .JPG et se trouve dans le même répertoire.
Pour ne pas toucher au code, remplaces la photo déjà nommée Signature.JPG par la photo de ta signature du même nom.
https://www.cjoint.com/?lEvbEKRoTT
Si le code répond à tes attentes, je le reverrais pour essayer de l'alléger
Option Explicit
Sub image()
Dim image As Picture
Dim design As String
'efface les images
Dim photo As Shape
For Each photo In Worksheets("Feuil1").Shapes
If photo.Name Like "*Photo*" Then
photo.Delete
End If
Next
'Suivant valeur en Z1 colle image
If [Z1] = 1 Then
[W32].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo1"
.Height = [W32].Height
.Width = [W32].Width
End With
End If
If [Z1] = 2 Then
[W32].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo2"
.Height = [W32].Height
.Width = [W32].Width
[W73].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo3"
.Height = [W73].Height
.Width = [W73].Width
End With
End With
End If
If [Z1] = 3 Then
[W32].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo4"
.Height = [W32].Height
.Width = [W32].Width
[W73].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo5"
.Height = [W73].Height
.Width = [W73].Width
[W114].Select
design = ThisWorkbook.Path & "\Signature.jpg"
Set image = ActiveSheet.Pictures.Insert(design)
With image.ShapeRange
.Name = "Photo6"
.Height = [W114].Height
.Width = [W114].Width
End With
End With
End With
End If
[A1].Select
End Sub
Bonjour Mike
Tout d'abord merci ... c'est presque ça :D !!!
J'aurais préféré que l'mage ne se trouve dans un onglet de mon document, les utilisateurs pourront utiliser ce document sur n'importe quel PC via une clé USB ou un autre PC (domicile et bureau) et par conséquent c'est plus simple ! Par ailleurs, je leur demande de la dimentionner pour qu'elle se colle dans une case précisemment !
Ne peut on utiliser la fonction copier coller d'une image nommée ?? Je n'ai pas trouvé !
Merci
Sacha
Tout d'abord merci ... c'est presque ça :D !!!
J'aurais préféré que l'mage ne se trouve dans un onglet de mon document, les utilisateurs pourront utiliser ce document sur n'importe quel PC via une clé USB ou un autre PC (domicile et bureau) et par conséquent c'est plus simple ! Par ailleurs, je leur demande de la dimentionner pour qu'elle se colle dans une case précisemment !
Ne peut on utiliser la fonction copier coller d'une image nommée ?? Je n'ai pas trouvé !
Merci
Sacha
Re,
Mon lien n'est pas complet, il manque la photo pour tester le code.
Pour que le code macro fonctionne, sorts le fichier du fichier ZIP.
en Z1 j'ai créé une liste déroulante pour sélectionner la cellule vide, 1, 2 ou 3. Pour effacer les photos il suffit de sélectionner l'appostrophe qui correspond à un vide et actionner le bouton ou effacer la valeur en Z1 et clic bouton
https://www.cjoint.com/?mbk3rULUwx
Mon lien n'est pas complet, il manque la photo pour tester le code.
Pour que le code macro fonctionne, sorts le fichier du fichier ZIP.
en Z1 j'ai créé une liste déroulante pour sélectionner la cellule vide, 1, 2 ou 3. Pour effacer les photos il suffit de sélectionner l'appostrophe qui correspond à un vide et actionner le bouton ou effacer la valeur en Z1 et clic bouton
https://www.cjoint.com/?mbk3rULUwx
Re,
Mon post c'est croisé, il est possible de paramétrer les dimensions de l'image au départ ou en fonction de la cellule, mais la on va charger le code.
Pour la signature elle pourrait également être intégrée au fichier dans une colonne masquée, dans ce cas le code serait plus simple
bien sur fichier à personnaliser avec une simple photo, jettes un œil sur ce fichier
https://www.cjoint.com/?mble5dTgMI
Mon post c'est croisé, il est possible de paramétrer les dimensions de l'image au départ ou en fonction de la cellule, mais la on va charger le code.
Pour la signature elle pourrait également être intégrée au fichier dans une colonne masquée, dans ce cas le code serait plus simple
bien sur fichier à personnaliser avec une simple photo, jettes un œil sur ce fichier
https://www.cjoint.com/?mble5dTgMI
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non pardon je ne me suis pas bien fait comprendre ...
Au lieu d'aller chercher la photo dans un fichier JPG à part (dans le même répertoire) j'aurais préféré que les utilisateurs l'insèrent dans un onglet du document nommé "paramétrage" puisqu'ils sont mobiles et pourront traiter ce document à distance !Mais peux tu adapter ton code à une image nommée "Signature" dans le document j'avoue que je n'en sais rien ... je suis contrôleur de gestion pas dans l'informatique :D !!!!
Sinon cela fonctionne ; si je peux abuser je n'arrive pas à dimensionner correctement l'image : tel que tu l'as fait tu la formate selon la taille de W32 or W32 est en fait la fusion de plusieurs cellules et fait 1.5 cm de hauteur pour 3 cm de large !
J'ai écris dans ton code :
With image.ShapeRange
.Name = "Photo1"
.Height = 42.75
.Width = 84.75
Mais ça ne semble pas fonctionner !
Sacha
Au lieu d'aller chercher la photo dans un fichier JPG à part (dans le même répertoire) j'aurais préféré que les utilisateurs l'insèrent dans un onglet du document nommé "paramétrage" puisqu'ils sont mobiles et pourront traiter ce document à distance !Mais peux tu adapter ton code à une image nommée "Signature" dans le document j'avoue que je n'en sais rien ... je suis contrôleur de gestion pas dans l'informatique :D !!!!
Sinon cela fonctionne ; si je peux abuser je n'arrive pas à dimensionner correctement l'image : tel que tu l'as fait tu la formate selon la taille de W32 or W32 est en fait la fusion de plusieurs cellules et fait 1.5 cm de hauteur pour 3 cm de large !
J'ai écris dans ton code :
With image.ShapeRange
.Name = "Photo1"
.Height = 42.75
.Width = 84.75
Mais ça ne semble pas fonctionner !
Sacha
Oui merci c'est très gentil ... si tu as besoin de mon fchier je peux te le joindre (rien de bien confidentiel) !!
Sacha
Sacha
Oui grand merci ... mon fichier passe en présentation lundi au comité de pilotage de ma boite ... j'aurais aimé qu'il soit complet ... sinon ce n'est rien ... si je pense que c'est réalisable je le "vendrai" dans l'état ... il sera (sous réserve de validation) en circulation au 01/01/2010 ça laisse un peu de marge !
Merci pour ton aide
Sacha
Merci pour ton aide
Sacha
Re,
Alors il faut faire vite, regardes ce fichier si ça te convient, on verra les explications après, testes la liste déroulante en A4, l'apostrophe en fin de sélection dans la liste déroulante est pour afficher "rien" et donc aucune photo.
La photo qui sera ta signature est stockée sur le fichier dans une cellule qui pour l'exemple est le couché de soleil Windows
https://www.cjoint.com/?mdlPNi7851
Alors il faut faire vite, regardes ce fichier si ça te convient, on verra les explications après, testes la liste déroulante en A4, l'apostrophe en fin de sélection dans la liste déroulante est pour afficher "rien" et donc aucune photo.
La photo qui sera ta signature est stockée sur le fichier dans une cellule qui pour l'exemple est le couché de soleil Windows
https://www.cjoint.com/?mdlPNi7851
Ne crois pas que mon silence vaut désintérêt ... je me creuse la tête (blonde ... tu vas commencer à comprendre) depuis 2 heures et sens que je suis proche mais n'aboutit pas à la mise en place des formules dans mon fichier ...
Je crierai au secours dans une heure (en argumentant sur les ??) si je n'ai pas réussi ... j'en ai oublié de déjeuner ... ça me rend dingue de ne pas y arriver !!!
Sacha
Je crierai au secours dans une heure (en argumentant sur les ??) si je n'ai pas réussi ... j'en ai oublié de déjeuner ... ça me rend dingue de ne pas y arriver !!!
Sacha