Programmation sous excel
awomis
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai voulu créer une liste d'inscription des personnes sous excel via VBA avec tout les détail possible : Photo, Adresse, Tél, Nom, Prénom ... mais je ne sais comment y arriver. est-ce que je peux avoir l'aide de quelqu'un SVP ?
j'ai voulu créer une liste d'inscription des personnes sous excel via VBA avec tout les détail possible : Photo, Adresse, Tél, Nom, Prénom ... mais je ne sais comment y arriver. est-ce que je peux avoir l'aide de quelqu'un SVP ?
A voir également:
- Programmation sous excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
4 réponses
Bonjour,
Le problème de ce genre de fichier n'est pas dans les données textes ou leur traitement, mais dans les photos... Combien de personnes, à terme, seront inscrites dans ton fichier. en fonction du nombre de personnes et de la taille des photos, le fichier risque vite fait de devenir ingérable au niveau de son "poids" en octet...
Donne nous déjà un ordre de grandeur du nbre de personnes concernées et les noms de tous les champs que tu souhaites inclure.
Le problème de ce genre de fichier n'est pas dans les données textes ou leur traitement, mais dans les photos... Combien de personnes, à terme, seront inscrites dans ton fichier. en fonction du nombre de personnes et de la taille des photos, le fichier risque vite fait de devenir ingérable au niveau de son "poids" en octet...
Donne nous déjà un ordre de grandeur du nbre de personnes concernées et les noms de tous les champs que tu souhaites inclure.
Merci pr la reponse.
Au fait,Le nombre de personne peut avoisiner 400. et voici le nom de tous les chants que je désire inclure Nom: Prénom: Adresse: Tél: Responssabilité: Durée: DATE de bapteme: Profession:
chaque détail doit être lié à une photo de personne.
Au fait,Le nombre de personne peut avoisiner 400. et voici le nom de tous les chants que je désire inclure Nom: Prénom: Adresse: Tél: Responssabilité: Durée: DATE de bapteme: Profession:
chaque détail doit être lié à une photo de personne.
Bonjour
Ci joint un exemple sur un autre thème d'insertion de photos
Le nom des photos -sans suffixe - est dans la colonne C
les photos peuvent être aux formats jpg, jpeg, gif, png
la macro "enlever_photo" pourrait être lancée par un "BeforeClose" du module "thisworkbook" pour éviter un poids trop lourd comme le signale notre ami Pijaku (bonjour Frank, ca va ?)
https://www.cjoint.com/?3FEoQB2HdU9
Ci joint un exemple sur un autre thème d'insertion de photos
Le nom des photos -sans suffixe - est dans la colonne C
les photos peuvent être aux formats jpg, jpeg, gif, png
la macro "enlever_photo" pourrait être lancée par un "BeforeClose" du module "thisworkbook" pour éviter un poids trop lourd comme le signale notre ami Pijaku (bonjour Frank, ca va ?)
https://www.cjoint.com/?3FEoQB2HdU9
Bonjour
Apparemment, cette interdiction vient de chez toi...
ci dessous les macros
comme il doit s'agir de photos d'identité, tu peux supprimer les lignes du code concernant la prise en compte du format horizontal d'une photo
dans l'exemple on présente les colonnes A à D (relire mon 1° message)
Apparemment, cette interdiction vient de chez toi...
ci dessous les macros
comme il doit s'agir de photos d'identité, tu peux supprimer les lignes du code concernant la prise en compte du format horizontal d'une photo
dans l'exemple on présente les colonnes A à D (relire mon 1° message)
Option Explicit Sub incorporer_image() Dim Derlig As Integer, Design As String, Cptr As Integer, Chemin As String Dim Fichier As String, Image As Picture, Cellule As Range, Rapport As Byte, Numero As Integer 'initialisations Derlig = Columns("A").Find("*", , , , , xlPrevious).Row Application.ScreenUpdating = False 'parcours la liste Numero = 1 For Cptr = 2 To Derlig Design = Cells(Cptr, "C") Chemin = ThisWorkbook.Path & "\" & "photos\" 'prend en compte le format de la photo If Dir(Chemin & Design & ".png") <> "" Then Design = Design & ".png" If Dir(Chemin & Design & ".jpg") <> "" Then Design = Design & ".jpg" If Dir(Chemin & Design & ".jpeg") <> "" Then Design = Design & ".jpeg" If Dir(Chemin & Design & ".gif") <> "" Then Design = Design & ".gif" On Error GoTo inconnu Fichier = Chemin & Design Set Cellule = Cells(Cptr, "D") Set Image = ActiveSheet.Pictures.Insert(Fichier) 'insere l'mage web dans la liste du matos On Error GoTo 0 'ajuste la photo à la cellule With Image.ShapeRange .Top = Cellule.Top + 1 .Left = Cellule.Left + 1 Rapport = Round((Image.Width) / 21.16, 0) / Round((Image.Height) / 21.16, 0) If Rapport >= 1 Then .Height = Cellule.Height - 10 .Width = Cellule.Width - 2 .LockAspectRatio = msoFalse Else .Height = Cellule.Height - 2 .Width = Cellule.Width - 60 .Left = Cellule.Left + .Width / 4 'centrage vertical .LockAspectRatio = msoFalse End If .Name = "numphoto" & Numero End With Numero = Numero + 1 Next Exit Sub inconnu: MsgBox "Nom de photo inconnu", vbCritical, "galerie photo" End Sub Sub enlever_photos() Dim Nbre As Byte, Numero As Byte With Sheets(1) On Error Resume Next Nbre = Application.CountA(.Columns("C")) - 1 For Numero = 1 To Nbre .Shapes("numphoto" & Numero).Delete Next End With End Sub
Salut Michel,
Ca va bien merci. Et toi?
Procédure complète, comme d'hab! J'aime bien le fait de ne pas stocker inutilement des images dans un classeur... D'où la nécessité de ta seconde procédure...
Petit question subsidiaire, pourquoi 21.16 dans la ligne :
Ca va bien merci. Et toi?
Procédure complète, comme d'hab! J'aime bien le fait de ne pas stocker inutilement des images dans un classeur... D'où la nécessité de ta seconde procédure...
Petit question subsidiaire, pourquoi 21.16 dans la ligne :
Rapport = Round((Image.Width) / 21.16, 0) / Round((Image.Height) / 21.16, 0)