Maathis
XLDnaute Nouveau
Bonjour à tous,
Alors j'ai un petit problème avec un userform de saisie de données.
Le but de mon userform est de rentrer des infos sur un produit avec son image et ensuite de ranger ses valeurs dans un tableau.
Le problème c'est que ce document va être utilisé par plusieurs personnes différents sur leurs ordinateurs donc si elle insère une photo depuis leur photos par exemple, il faut que les autres utilisateurs puissent voire l'image ensuite.
J'avais réussi à obtenir ce que je voulais mais depuis le userform (grâce à votre aide sur ce forum), l'image était insérée en fichier temporaire et donc sur un autre poste, il y avait ce message:
		
		
	
	
		
	
J'ai donc eu l'idée de:
Au moment ou on va enregistrer les informations dans la base de données, l'image soit copié, renommé et envoyé vers un dossier accessible par toute les personnes du réseau et ensuite Excel prend ce fichier la pour l'insérer dans la base de données, ainsi tout le monde peut y avoir accès.
Mais est-ce la meilleure des solutions dans mon cas ?
Actuellement avec cette solution je bloque au moment ou Excel doit prendre l'image dupliquée dans le dossier accessible par tous le monde et l'insérer dans la bonne case du tableau.
Tous d'abord je vous met mon code pour insérer une image dans le useform:
	
	
	
	
	
		
Puis Quand je clique sur le bouton enregistré voici ce qu'il se passe:
	
	
	
	
	
		
Une erreur se produit à cette ligne :
	
		
Le message d'erreur est que la proprieté insert n'est non géré.
Merci d'avance pour vos solutions.
Mathis
	
		
			
		
		
	
				
			Alors j'ai un petit problème avec un userform de saisie de données.
Le but de mon userform est de rentrer des infos sur un produit avec son image et ensuite de ranger ses valeurs dans un tableau.
Le problème c'est que ce document va être utilisé par plusieurs personnes différents sur leurs ordinateurs donc si elle insère une photo depuis leur photos par exemple, il faut que les autres utilisateurs puissent voire l'image ensuite.
J'avais réussi à obtenir ce que je voulais mais depuis le userform (grâce à votre aide sur ce forum), l'image était insérée en fichier temporaire et donc sur un autre poste, il y avait ce message:
J'ai donc eu l'idée de:
Au moment ou on va enregistrer les informations dans la base de données, l'image soit copié, renommé et envoyé vers un dossier accessible par toute les personnes du réseau et ensuite Excel prend ce fichier la pour l'insérer dans la base de données, ainsi tout le monde peut y avoir accès.
Mais est-ce la meilleure des solutions dans mon cas ?
Actuellement avec cette solution je bloque au moment ou Excel doit prendre l'image dupliquée dans le dossier accessible par tous le monde et l'insérer dans la bonne case du tableau.
Tous d'abord je vous met mon code pour insérer une image dans le useform:
		VB:
	
	
	Private Sub import_photo_Click()
 On Error GoTo Pasimage
    strFileName = Application.GetOpenFilename(filefilter:="JPEG Files (*.jpg;*.jpeg;*.jfif;*.jpe),*.jpg;*.jpeg;*.jfif;*.jpe,Bitmap Files(*.bmp),*.bmp", MultiSelect:=False)
    Me.boxphoto.Picture = LoadPicture(strFileName)
    Me.boxphoto.PictureSizeMode = fmPictureSizeModeStretch
    
    Me.Repaint
        
    End If
Exit Sub
Pasimage: MsgBox "Aucune image"
End Sub
	Puis Quand je clique sur le bouton enregistré voici ce qu'il se passe:
		Code:
	
	
	pic = strFileName
        nom = Me.txtL
        
        Name pic As "C:\Users\" & nom & ".jpg"
        
                Sheets("Base").Unprotect ""
                
                
                Me.ID = "" & ID
                
                Sheets("Base").Activate
                Range("B100000").End(xlUp).Offset(1, 0).Select
                ActiveCell = Me.ID
                ActiveCell.Offset(0, 1) = Me.txtL
                ActiveCell.Offset(0, 2) = Me.txtC
                ActiveCell.Offset(0, 3) = Me.cbA
                ActiveCell.Offset(0, 4) = Me.cbM
            
    
                
                SavePicture boxphoto.Picture, pic
                
                ActiveCell.Offset(0, 5).Select
                
                 With Selection.Parents.Picture.Insert(pic)
                
                
                         .Placement = xlFreeFloating
                        
                        .PrintObject = msoFalse
                        .ShapeRange.LockAspectRatio = msoFalse
                        .Height = boxphoto.Height - 5
                        .Width = boxphoto.Width - 5
              
                        Selection.RowHeight = boxphoto.Height
                        If Selection.Width > boxphoto.Width _
                        Then Selection.Columns.ColumnWidth = 1
                      
                         Do While Selection.Width < boxphoto.Width
                             Selection.Columns.ColumnWidth = _
                             Selection.Columns.ColumnWidth + 1
                         Loop
                    .Placement = xlMoveAndSize
                End With
                
                Sheets("Base").Protect ""
                ActiveSheet.EnableAutoFilter = True
                
                Unload Me
                Sheets("Accueil").Activate
                MsgBox "Ajouté dans la base de données"
    End If
	Une erreur se produit à cette ligne :
		Code:
	
	
	 With Selection.Parents.Picture.Insert(strFileName)
	Merci d'avance pour vos solutions.
Mathis