Récuperer valeur cellule pour variable

FOUQUET Yves

XLDnaute Occasionnel
Bonsoir,

Avez vous 5 mn pour m'aider...
Je débute à peine dans VisualBasic.
Mon problème: Récupérer la valeur d'une cellule d'excel pour positionner l'écriture de nouvelle ligne dans mon tableur.

Dim Nbr As Variant 'Ma variable
With Sheets("Feuil2") 'Ma feuille Excel

'feuil2 est ma feuille de calcul Excel
'dans la cellule C6 il y a un nombre entier 23
'Je voudrais le récupérer pour le mettre dans la variable Nbr
'Cette variable servant à me positionner sur une ligne précise de mon tableur
'pour integrer des données de saisie
'-----------------------------------------------------------------------------------------------------------------------
.Range(Nbr).Value = ("C" & 6) 'C'est là que ça ne marche pas!!

' Là j'intégre à partir de Nbr

L = .Range("a" & Nbr + 7).End(xlUp).Row + 1 'Permet de se positionner sur la ligne de tableau définie par Nbr

.Range("A" & L).Value = CDate(TextBox1) 'Insère la donnée de la textbox1 dans la colonne A comme une date
.Range("B" & L).Value = ComboBox1 'Insère la donnée de la liste déroulante dans la colonne B
.Range("D" & L).Value = ComboBox2
.Range("E" & L) = ValeurTBx(TextBox5) 'Insére la donnée formatée monétaire dans la colonne E
.Range("H" & L).Value = ComboBox3
.Range("I" & L).Value = TextBox2
.Range("J" & L).Value = TextBox3
.Range("K" & L).Value = TextBox4
.Range("F" & L).Value = "," ' Colonne de pointage avec relevé banque, passe à "," par défaut
'----------------------------------------------------------------------------------------------------------------------
Voilà si quelqu'un peut m'aider car je galère...
Merci d'avance.
Yves
 

FOUQUET Yves

XLDnaute Occasionnel
YESSSSSS!!!!!!!!! j'ai trouvé!!!!!!!
En isolant ligne par ligne j'ai compris que c’était dans HTLMbody que cela se passait.
J'ai créé une variable img1 dans laquelle je copie le chemin du dossier de l'image.
Mais c'était si simple.... pourquoi j'ai mis tant de temps. Je me suis relevé car c'est au lit que l'idée m'est venue!
et je lance HTLMbody avec cette information.
et j'ai viré l'ancienne ligne HTMLbody
ET CA FONCTIONNE A MERVEILLE.

VB:
Sub EmbedPicture(PathName As String)
  Dim MyPicture As String
  Dim ligne As Integer
  Dim img1 As String
 
  ligne = Me.ComboBox1.ListIndex + 1  'se positionne sur l'index (ligne) du nom combobox
  img1 = "D:\Gestion AHI\Bonjour XXXX.jpg"
 
  MyPicture = Mid(PathName, InStrRev(PathName, Application.PathSeparator) + 1)
  With CreateObject("Outlook.Application").CreateItem(0)
    
    
    .HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & img1 & "'>"
    
    '.HTMLBody = "<html><p>Cher(e) ami(e) bonjour,</p> En ce jour particulier, un mot du président d'A.H.I</p>" & _
                "<img src=cid:" & Replace(MyPicture, " ", "%20") & _
                "<p>Bon anniversaire,</p>" & _
                "<p>" & "</p></html>"
                
    .Attachments.Add "D:\Gestion AHI\Bonjour XXXX.jpg"
    
    .To = Range("C" & ligne).Value
    .Subject = " Anniversaire "
    .Display
    .Send
  End With
'Attendre 5
'Outlook.Quit
End Sub
' ==== fin de procédure envoi du message =
 

FOUQUET Yves

XLDnaute Occasionnel
Je viens de vérifier.
Tu as raison pas de corps...
VB:
 .HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & img1 & "'>"
   
    '.HTMLBody = "<html><p>Cher(e) ami(e) bonjour,</p> En ce jour particulier, un mot du président d'A.H.I</p>" & _
                "<img src=cid:" & Replace(MyPicture, " ", "%20") & _
                "<p>Bon anniversaire,</p>" & _
                "<p>" & "</p></html>"

Je croyais mais, non. j'ai vérifié avec la messagerie de mon épouse et il y a le carré grand mais pas l'image.
Si tu trouves mieux je suis preneur mais c'est sur cette ligne que ça se passe.
Bon 3h15 faudrait dormir...
Merci encore et à la prochaine camarade...
 
Dernière édition:

FOUQUET Yves

XLDnaute Occasionnel
Ok je ne suis pas chez moi. Charge conteneur pour le Benin. Des demain je ferai un essai. J'ouvre un tableur Excel, je crée une macro en copie collé de ton code. Peut-être indiquer quelque part le chemin de mon image ? F5 pour lancer et je vois ce qu'il se passe. OK
 

FOUQUET Yves

XLDnaute Occasionnel
Bien, j'ai fait un copie-collé de ton code dans une macro de tableur Excel vierge.
F5 pour exécuter la macro, Outlook me demande de choisir le document, je saisi l'adresse du destinataire,
Il envoie le message
et à réception l'image est petite.
1031061



Voilà le code de la macro
VB:
Sub Main()
Dim PathName As String
  With Application.FileDialog(msoFileDialogFilePicker)
    '.InitialFileName = "D:\Gestion AHI\Bonjour XXXX.jpg" ' <-- Use this line to set a default folder
    If .Filters.Count > 0 Then .Filters.Delete
    .Filters.Add "Images", "*.gif; *.png; *.jpg; *.jpeg", 1
    .AllowMultiSelect = False
    If .Show = False Then Exit Sub
    PathName = .SelectedItems(1)
  End With
  Call EmbedPicture(PathName)
End Sub


Sub EmbedPicture(PathName As String)
  Dim MyPicture As String
  MyPicture = Mid(PathName, InStrRev(PathName, Application.PathSeparator) + 1)
  With CreateObject("Outlook.Application").CreateItem(0)
    .Attachments.Add PathName
    .HTMLBody = "<html><p>This is a picture</p>" & _
                "<img src=cid:" & Replace(MyPicture, " ", "%20") & _
                "<p>Best Regards,</p>" & _
                "<p>" & UCase(Environ("USERNAME")) & "</p></html>"
    .Display
  End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Yves
Ta copie d'écran montre que tu es dans Gmail .
Qu'est-ce que cela donne quand tu ouvres ton mail dans Outlook?

Petit conseil en passant
(Sur la copie d'écran, si j'étais, je mettrais du noir sur certaines parties, notamment les visages... ;)
 

Staple1600

XLDnaute Barbatruc
Re

Tu ouvres le mail reçu dans Outlook ou dans un navigateur sur Gmail?

Et tu fais bien le test avec la macro du message#96?

Je peux pas t'en dire plus ce soir.

Je ferai le test demain au boulot avec un collègue.
(L'image étant stocké en local sur mon PC, soit j'ai la même erreur que toi, soit il aura bien l'image dans le mail reçu)
 

FOUQUET Yves

XLDnaute Occasionnel
J'ai essayé les deux.
Avec mon adresse Gmail j'ouvre le message reçu dans Gmail.com
Avec mon adresse neuf.fr dans Outlook.

Le résultat est le même.
Idem avec les adresses de mon epouse.
Une Gmail.com dans gmail
Une libertysurf.fr dans Outlookt.
Resultat idem.
 

FOUQUET Yves

XLDnaute Occasionnel
Une interrogation: dans mon code de cette nuit, quand j'ai cru avoir réussi, tu as dit à juste titre que c'était un leurre, l'image étant téléchargée à la lecture directement dans mon ordinateur.
Alors pourquoi quand je regarde le mail sur mon téléphone (donc déconnecté de l'ordinateur) l'image est toujours dans le message.
 

Discussions similaires

Réponses
4
Affichages
213

Statistiques des forums

Discussions
312 249
Messages
2 086 599
Membres
103 256
dernier inscrit
Melomaniak