| EXCEL : est ce que cette fonction existe ? (RÉSOLU) | |
|
|
Auteur | Message |
---|
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Ven 22 Fév - 10:01 | |
| voila parfois je m'amuse sous excel a faire des excercices pour mes élèves (un genre de simulation) j'aimerais savoir si la fonction suivante existe et si oui comment la faire : Si valeur = 1 alors on affiche l'image a.jpg Sinon on affiche l'image b.jpg vala merci a vous PS : voici le premier td : Elec 008 : résistivité et résistance et le second : Elec 012 : Résistance série/parallèle
Dernière édition par Richard1 le Sam 23 Fév - 22:02, édité 2 fois | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Ven 22 Fév - 19:07 | |
| Bonsoir Tof225391,
J'ai téléchargé votre fichier mais les feuilles sont protégées par un mot de passe et les images doivent être verrouillées.
Donc difficile de voir ce qu'il faut modifier éventuellement.
Tenez-nous au courant.
Amicalement. | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Ven 22 Fév - 19:15 | |
| oups désolé. le mot de passe est : elec. mais ce ne sont pas ses fichiers la que je veux modifier. c'est plutot pour le prochain que j'ai en tete mais avant de m'aventurer, je voulais savoir si cette fonction etait possible. | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Ven 22 Fév - 20:21 | |
| re, Ok je cerne un peu mieux le problème. A priori tout (ou presque) est possible que ce soit avec une fonction Excel ou avec quelques lignes de code en VBA. Le problème est de savoir à travers : - Citation :
- Si valeur = 1 alors on affiche l'image a.jpg
Sinon on affiche l'image b.jpg dans quelle cellule on doit trouver la valeur = 1 pour afficher l'image a.jpg ou b.jpg ? | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Ven 22 Fév - 21:44 | |
| on va faire sîmple, 2 cellules, la premiere ou ya la valeur et la deuxieme ou l'on trouve l'image a ou b suivant le résultat | |
|
| |
Richard1 Modérateur
Nombre de messages : 4278 Age : 75 Localisation : Montréal-Canada Réputation : 15 Date d'inscription : 16/05/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: so Sam 23 Fév - 1:38 | |
| Ça y est: Le pro Monsieur Yora_senior est de nouveau au travail. Tof.... explique bien ton problème et...je suis certain que le pro va te donner LA solution. C'est lui, le meilleur dans ce domaine ici. Bonne journée à vous deux. Très Amicalement | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 9:59 | |
| bah j'ai essayé d'etre le plus precis possible ca suffit pas ? jpeux faire deux imp ecran si il faut | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 11:59 | |
| Bonjour Tof225391, J'ai fait un essai avec votre fichier Elec008 et la feuille "Exercice 1" L'image est en fait composée de plusieurs images regroupées. J'ai donc sélectionné celle-ci puis "copier" puis je l'ai collée dans Paint et enregistrée en format JPG. J'ai fait la même chose avec une 2ème image (sur la feuille "Exercice 2"). Vous sélectionnez totalement le code contenu dans le cadre puis clic droit et "Copier". Vous ouvrez votre fichier puis vous cliquez sur "Outils" puis "Macro" puis "Visual Basic Editor". Vous double-cliquez à gauche sur le nom de votre feuille puis dans la fenêtre de droite clic droit puis "Coller". Vous fermez la fenêtre VBE. Pour lancer la macro vous pouvez cliquer sur "Outils" puis "Macro" puis "Macros" puis "Exécuter". Mais vous pouvez aussi affecter une un raccourci ou par exemple à partir de la barre d'outils "Dessin" dessiner un rectangle et lui affecter la Macro. Enregistrez votre fichier. Vous pourrez bien sûr copier ce code sur les autres feuilles en adaptant éventuellement l'adresse de la cellule contenant la valeur, le chemin et le nom des images. N'hésitez pas si vous avez quelques problèmes que ce soit. Cordialement. - Code:
-
Sub Insert_image() ' Macro enregistrée le 23/02/2008 par Jacques ' 'ci-dessous on vérifie s'il existe déjà des images sur la feuille. 'si oui elle(s) est (sont) supprimée(s) For Each Object In ActiveSheet.Shapes Object.Select Selection.Cut Next 'Ici on affecte à une variable la valeur contenue en "A2" 'remplacez "A2" par l'adresse de la cellule qui contient la valeur sur votre feuille myval = Range("A2").Value
'Variable contenant le chemin d'accès aux images. Modifiez avec votre 'propre chemin. mypath = "C:\Documents and Settings\HP_Propriétaire\Mes documents\" If myval = 1 Then 'remplacez ci-dessous les noms des images par les vôtres) ActiveSheet.Pictures.Insert(mypath & "Image1.JPG").Select Else ActiveSheet.Pictures.Insert(mypath & "Image2.JPG").Select End If 'Ici on place l'image (vous pouvez faire des essais en modifiant les valeurs Selection.ShapeRange.IncrementLeft 57# Selection.ShapeRange.IncrementTop 117.75 End Sub
| |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 12:55 | |
| coucou merci pour l'aide. euh alors j'ai reussi à la faire mais ya un hic, je suis obligé d'éxcecuter la macro a chaque fois que je change la valeur pour voir le changeement d'image. et lorsque j'enregistre le fichier et que je l'ouvre, voila ce qu'il me dit : J'ai pourtant mis au minimum le niveeau de sécurité :s | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 13:01 | |
| ah c'est bon pour la sécurité. il me reste plus que le soucis de rendre la macro active tout le temps | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 13:24 | |
| Re tof225391,
Bien, un problème solutionné, celui de la sécurité pour les macros.
Maintenant, en ce qui concerne le lancement de la macro (j'ai horreur de ce terme impropre en l'occurrence, mais passons, c'est Microsoft lui-même qui n'emploie que ce terme même lorsque ce n'est pas justifié).
Alors pour que le code s'exécute automatiquement à chaque modification de la valeur de la cellule, il y a une solution que je n'avais pas choisie au départ, car je n'étais pas certain que c'était celle qui vous convenait.
Maintenant que je le sais, il va suffire de modifier la ligne "Sub Insert_image" plus une ou 2 lignes.
Mais comme toujours je fais des essais avant de vous les indiquer.
Donc à bientôt pour la modification.
Cordialement. | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 15:23 | |
| oki ca marche Merci beaucoup | |
|
| |
Richard1 Modérateur
Nombre de messages : 4278 Age : 75 Localisation : Montréal-Canada Réputation : 15 Date d'inscription : 16/05/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 15:29 | |
| Très Amicalement | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 16:40 | |
| Re, Au passage : Bonjour Richard1 et merci pour les applaudissements, mais ce n'est que quelques lignes de code. Essayez ce code. Lorsque vous cliquez sur la cellule concernée que vous entrez une valeur et que vous validez la procédure se lance automatiquement. J'ai aussi ajouté au début du code la désactivation de la protection de la feuille (pour pouvoir supprimer puis ajouter une image) puis en fin de code la réactivation avec le mot de passe "elec". - Code:
-
Sub worksheet_change(ByVal target As Range) ' Macro enregistrée le 23/02/2008 par Jacques
'On désactive la protection de la feuille ActiveSheet.Unprotect Password:="elec" 'ci-dessous on vérifie s'il existe déjà des images sur la feuille. 'si oui elle(s) est (sont) supprimée(s) For Each Object In ActiveSheet.Shapes Object.Select Selection.Cut Next 'Ici on affecte à une variable la valeur contenue en "A2" 'remplacez "A2" par l'adresse de la cellule qui contient la valeur 'sur votre feuille myval = Range("A2").Value
'Variable contenant le chemin d'accès aux images. Modifiez avec votre 'propre chemin. mypath = "C:\Documents and Settings\HP_Propriétaire\Mes documents\"
'si vous avez modifié "A2" ci-dessus modifiez : 'target.Column = 1 '(ici il s'agit d'un N° donc :'A = 1 B = 2 etc.. 'et/ou target.Row = 2 en conséquence If target.Column = 1 And target.Row = 2 And myval > 0 Then If myval = 1 Then 'remplacez ci-dessous les noms des images par les vôtres) ActiveSheet.Pictures.Insert(mypath & "Image1.JPG").Select Else ActiveSheet.Pictures.Insert(mypath & "Image2.JPG").Select End If End If 'Ici on place l'image (vous pouvez faire des essais en modifiant les valeurs) Selection.ShapeRange.IncrementLeft 57# Selection.ShapeRange.IncrementTop 117.75 'On réactive la protection de la feuille ActiveSheet.Protect Password:="elec" End Sub
| |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 17:42 | |
| re génial le code ^^ tout marche comme je le souhaite merci beaucoup. derniere recommandation, si je supprime les images, le fichier excel ne les garde pas en mémoire, est ce qu'il y a une solution ? PS : voici en fichier zip le fichier excel les 2 images de test, la valeur attendue est 1 dans la case A2 telecharger | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 17:53 | |
| Re,
Je ne sais pas si j'ai bien compris :
vous voulez dire que sur votre fichier vous supprimez manuellement l'image ?
si oui il faut modifer à nouveau la cellule pour que l'image voulue soit à nouveau réincorporée.
Par contre si vous voulez dire que vous avez également supprimé le fichier image, là je ne vois pas !! | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 18:05 | |
| non non rien a voir avec excel, par exemple si je vous donne le fichier excel sans les images, ca marche pu excel me reclame les images avec le fichier.xls | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 19:08 | |
| Ok je comprends mieux.
Oui c'est évident il faut fournir les fichiers images.
Ce n'est pas comme Access qui permet d'afficher un fichier image joint ou d'incorporer ce fichier image (et dans ce cas on peut même supprimer le fichier lui-même).
Avec Excel, à mon avis on ne peut que fournir le fichier ou éventuellement le mettre sur un serveur et utiliser l'adresse dans le code.
Une autre solution à explorer peut-être : insérer ces fichiers sur une nouvelle feuille dans le fichier Excel et pouvoir ensuite choisir celui que l'on veut afficher à travers par exemple un Combobox dans un Userform qui permet de choisir celui que l'on veut afficher.
En fait il y a toujours des solutions, le tout est de trouver celle que l'utilisateur trouve la meilleure.
Cordialement. | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 19:15 | |
| ca ira bien pour le moment, maintenant j'ai de quoi faire mon idée, reste plus qu'a trouvé l'inspiration, tourner ca dans le bon sens et publier le résultat. en tout cas je vouse remercie beaucoup pour votre aide | |
|
| |
Yora_senior Expert confirmé
Nombre de messages : 1187 Localisation : Saint Réputation : 0 Date d'inscription : 29/06/2005
Votre configuration PC Processeur, RAM: Carte graphique, disque dur: Système d'exploitation, service pack:
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 20:58 | |
| Bonsoir,
Content d'avoir pu vous aider et sutout à travers ce que l'on nomme les macros en tout cas je l'espère.
N'hésitez pas si vous avez de nouvelles questions à ce sujet et si vous pensez que je peux vous apporter une réponse.
Cela dit, quitte à paraître un peu insistant, si vous voulez savoir comment créer une macro sans connaître la programmation et si c'est votre cas (et oui c'est de cette façon que j'ai commencé avant de savoir comment créer un programme et c'est la raison pour laquelle j'ai toujours envie de transmettre la recette) :
vous ouvrez un nouveau fichier Excel.
vous entrez des données dans quelques cellules.
vous cliquez sur "Outils" puis "Macro" puis "Nouvelle macro" puis "ok".
sur votre fichier vous utilisez des outils de mise en forme, vous créez des formules, vous enregistrez le fichier (ce sont des exemples).
Vous cliquez sur "Outils" puis "Macro" puis "Arréter l'enregistrement".
Si vous ouvrez la fenêtre "Visual Basic Editor" vous allez visualiser le code de la macro. Et même si l'on appelle cela une macro c'est déjà de la programmation sans que l'on connaisse le langage de programmation.
Mais il n'y a pas d'utilisation de variables, de boucles, d'appel à une autre procédure. Là c'est la 2ème étape, c'est la programmation.
Mais quand on y parviens, c'est-à-dire lorsque l'on a l'impression de maîtriser le système, n'est-ce pas formidable.
Excusez-moi pour cette diatribe un peu longue et peut-être ennuyeuse mais cela me reprend de temps en temps.
Cordialement. | |
|
| |
tof225391 Modérateur
Nombre de messages : 828 Age : 41 Localisation : toi meme Réputation : 10 Date d'inscription : 22/12/2005
Votre configuration PC Processeur, RAM: Core 2 Duo T5750 - 2048 Mo Carte graphique, disque dur: NVIDIA GeForce Go 8600 M GS 256/1024 Mo TGM Système d'exploitation, service pack: Mandriva 2007 et XP
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) Sam 23 Fév - 21:45 | |
| lol. je garde au chaud ce topic et dès que j'attaque mon fichier excel jviendrais le relancer au cas ou ^^ sinon merci beaucoup encore cordialement | |
|
| |
Contenu sponsorisé
| Sujet: Re: EXCEL : est ce que cette fonction existe ? (RÉSOLU) | |
| |
|
| |
| EXCEL : est ce que cette fonction existe ? (RÉSOLU) | |
|