Renvoi d'une image a partir d'un contrôle image et triage avec des cellule

Bonjour à tous,

j'ai besoin d'une aide pour finaliser mon fichier joint

J'ai deux soucis à régler :

1- je cherche à renvoyer soit l'image1 ou 2 ou rien d'un userform vers une cellule précise de ma feuille "ANNEE N" en appuyant sur un checkbox

grâce au forum j'ai trouver une macro , mais je n'arrive pas à la faire fonctionner, car ne me trouve pas l'image !!!!

2- je cherche à filtrer à partir de la colonne "A 'date"

en module une macro que j'active en fin de de commandbutton1 (désactivé actuellement)

mais en colonne A et D j'ai des cellules fusionnées et naturellement ca ne fonctionne pas bien.

quelqu'un aurais une idée.

Merci d'avance

Bonjour

Pourquoi ne pas mettre l'adresse de l'image dans la base de données?

A+ François

Rebonjour,

je suis qu'un vieux débutant en VBA, mais j'ai essayé de modifier les macros copier

dans le nouveau fichier j'ai effectué quelques modifications :

en réponse à fanfan, j'ai modifié comme suit :

la commande checkbox (toujours dans la userform) prend en ref la feuille BASEdeDONNEE et non plus une image dans la userform

mais il ne trouve pas l'image mise en référence !!!

Pour mon deuxième problème oups... je n'avais mis la macro dans le module

Bonne soirée à tous

Bonjour

J'ai fait comme pour moi....

A+ François

Bonjour François

en fait je ne suis qu'un petit amateur en vba, c'est pour ces raisons que je mets des commentaires dans mes codes

Maintenant que je suis à la retraite j'apprends en autodidacte excel et le vba

Ton fichier me fait beaucoup avancé :

- l'idée de la liste box est intéressante

- ne fusionner que la colonne "A" c'est impeccable, surtout lorsque je vais trier par date.

Après

il faudra que je rajoute des macros en cas de modifications ...mais ceci est une autres histoire

en fait je me suis pas bien expliqué ;

L'image que j'insère dans la cellule pour une personne peu variée, c'est pour cela que j'ai mis des checkbox

dans base de donnée j'ai changé le chemin, car je pense que c'est le chemin pour aller trouver l'image ?

j'ai donc fais un dossier à part avec les 3 images, mais ca ne fonctionne pas !!!

merci pour ton aide, cela ma s'simplifier mon fichier et ouvert d'autres perceptive

Bonjour

Ci joint ma solution

est ce que les images choisies doivent être reporté sur la feuille Année N?

A+ François

bonjour,

oui effectivement il faudrait reporter l'image dans la feuille ANNEE N _colonne c _ ligne face au nom

Merci

A+ Antoine

Bonjour

Avec la photo

A+ François

Bonjour,

la macros ne fonctionne pas et me renvoi à

Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=ActiveSheet.Cells(dl + nb, "C").Left, _
Top:=ActiveSheet.Cells(dl + nb, "C").Top, _
Width:=ActiveSheet.Cells(dl + nb, "C").Width, _
Height:=ActiveSheet.Cells(dl + nb, "C").Height)

j'ai remarqué que le fichier est passé xlsb ?

je vais essayer le fichier avec mon vieux ordinateur et je reviens vers vous

A+ Antoine

Chez moi ça marche....

Quelle est, exactement, le message et la ligne en jaune?

Xlsb c'est parce que je l'ai enregistré en binaire (moins lourd)

A+ François

Re bonjour,

c'est la ligne que j'ai mis qui passe en jaune.

enregistrer en binaire pour rendre le fichier moins lourd ...je viens encore d'apprendre un paramètre excel.

par contre je suis en train de revoir le fichier, par exemple :

J'ai changé la saisie date car il y a aussi des dates non programmés. le fichier non terminé est joint.

bonne soirée A+

Bonjour

Perso je n'ai aucune erreur

regarde, après avoir testé le fichier, dans l'éditeur VBA Outils/référence

y a t'il une référence manquante...

J'ai dû refaire le fichier car trop lourd (photo)

A+ François

bonjour,

j'ai toujours le même message,

"erreur d'exécution 1004

impossible d'insérer un objet"

après avoir cliquer DEBLOCAGE

dans la macro en jaune :

'ajout image
Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=ActiveSheet.Cells(dl + nb, "B").Left, _
Top:=ActiveSheet.Cells(dl + nb, "B").Top, _
Width:=ActiveSheet.Cells(dl + nb, "B").Width, _
Height:=ActiveSheet.Cells(dl + nb, "B").Height)

je suis aller dans l'éditeur et je n'ai que les 4 premières références cochées sur la centaine présente

A tout les cou c'est la qu'il y le gag

on y est presque, après j'aurai le tri par date, car comme tu l'a vu il y a des organisation non planifiées.

A+ Antoine

il faut cocher Microsoft forms 2.0 object library

et microsoft office 16.0 object library

Pour le tri par date se sera pas possible car les cellules fusionnées ne sont pas identiques et les photos ne suivront pas

A+ François

Bonsoir

Excel est vraiment très intéressant lorsque l'on sort des sentiers battus.

mais il y de quoi se tirer les cheveux. .... et non ca ne fonctionne toujours pas

je vais voir avec mon vieux ordi en 32bits en windows10 et qui rame

Merci pour ta patiente

A+

Re bonsoir François.

j'ai trouvé une macros qui fonction, il faudrait l'adapter avec la variable ligne :

Private Sub cmdImage_Click()
Dim fd As FileDialog
Dim imgPath As String
Dim ws As Worksheet
Dim img As Picture
' Sélection de la feuille et de la cellule cible
Set ws = ThisWorkbook.Sheets("Feuil1") ' Nom de la feuille
Const targetCell As String = "B2" ' Cellule où placer l'image
' Ouvrir la boîte de dialogue pour choisir l'image
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Sélectionner une image"
.Filters.Clear
.Filters.Add "Images", "*.jpg; *.jpeg; *.png; *.bmp; *.gif"
.AllowMultiSelect = False
If .Show = -1 Then
imgPath = .SelectedItems(1)
' Supprimer l'image précédente si nécessaire
On Error Resume Next
ws.Pictures("ImageFromUserForm").Delete
On Error GoTo 0
' Insérer l'image
Set img = ws.Pictures.Insert(imgPath)
With img
.Name = "ImageFromUserForm"
.Top = ws.Range(targetCell).Top
.Left = ws.Range(targetCell).Left
.Width = ws.Range(targetCell).Width
.Height = ws.Range(targetCell).Height
End With
End If
End With
End Sub

tu as une macros qui est intéressante pourrais tu finir de me la décortiquer , ou voir si il manque des données dans le code

renvoi en colonne "D"

a = Split(Me.txt_cr.Value, Chr(10)) ... la variante a est défini "a" c'est tous... ?
split : Renvoie une base zéro à une matrice à une dimension contenant un nombre spécifié de sous-chaînes

La fonction Chr en VBA permet de renvoyer un caractère correspondant à un code ASCII donné.

Le code Chr(10) est utilisé pour insérer un saut de ligne (caractère LF - Line Feed) dans une chaîne de texte.

For i = LBound(a) To UBound(a)
Range("D" & dl + i) = a(i)
Next

Au sujet du tri, voila comment je compte procéder :

1 défusionne les cellules

2 copier la date dans les cellule

3 effectuer le tri en fonction des dates

4 refusionnera les cellule , grâce au numéro d'ordre

donc il faudra une colonne "F" avec un numéro d'ordre 1.1 puis 1.2 ...

la saisie suivante 2.1 ....

je me servirai de cette base pour effectuer la macro.

Maintenant le plus dur ; créer la macro, car comme je l'ai dit "je suis un novice avec se fabuleux vba"

Bonne soirée A+ Antoine

Bonjour

Problème de photo modifié....

Quel est le nombre maxi de personne pouvant assisté à une réunion

A+ François

Bonjour,

je tarde un peu pour vous répondre, ...j'ai percé des murs chez le voisin pour passer la fibre.

super ca fonctionne

Un grand merci. juste je rajouterai pour que l'image ce mette à la hauteur de la cellule.

Maintenant je vais certainement rajouter des fonctions faciles.... je mettrai le le fichier final,

pour le tri par date je verrais plus tard avec un autre post si je n'y arrive pas et si j'en ai besoin.

A ta question , le nombre de participant, une douzaine environ....mais ca peut changer...;maxi 20

Encore merci

Bonne soirée / Antoine

Bonjour François, après essai,

j'ai 3 petit PB a résoudre, voir la saisie dans la version 2.2

Bonjour

A+ François

Ps: dans l'userform/macro validation/ ligne 66 ajouter .top+

.Top =.Top + (h - im.Height) / 2

Rechercher des sujets similaires à "renvoi image partir controle triage"