Bonjour à tous.
Petit casse-tête pour les Vbaistes.
La boite dans laquelle je bosse actuellement (je bosse au service décisionnel, partie à part du service informatique) crée des matrices de rémunérations pour ses commerciaux en fonction de différents critères, ainsi que des états de production.
Bref, pas mal de tableau de reporting. Jusque là, pas de problème.
Là où je coince, c'est qu'ensuite, ces tableaux doivent être envoyés par mail à différentes entités.
J'entends par entité:
- une liste de destinataire
- une agence
- un directeur
- etc etc
Pour cela, j'ai à disposition une application excel vba pilote qui permet de paramétrer ces envois de mail.
Cette application doit répondre à différentes règles de paramètrage comme suit:
- une plage pour donner les chemins d'accès au fichier
- une plage pour le (ou les) destinataire(s)
- une plage pour le mail en copie
- plus tard: une cellule qui permettra de définir le corps du message
J'arrive à parcourir une plage de cellule (Selection) comme suit
Cependant, ça reste limité quand il est question de relatif.
Je m'explique: si dans mon fichier joint d'exemple, les tableaux commencent à la première ligne, ce n'est pas le cas dans mes tableaux de paramètrage.
De plus, il n'est pas nécessairement obligatoire de sélectionner tous les fichiers, mais seulement ceux que l'on souhaite envoyer, et même chose pour les destinataires et les copies.
Je ne sais pas trop comment gérer cela, même si j'ai les grandes lignes (cahier des charges).
Donc mes questions:
1) Comment récupérer la première, et donc également la dernière, cellule d'une plage sélectionnée continue ? (la plage complête sélectionnée peut référencer plusieurs lignes/colonnes discontinues - en général, 3 plages distinctes: liste des fichiers, liste des destinataires, liste des copies)
2) Comment faire la distinction entre les différentes colonnes et lignes ?
3) D'autres idées ? (oui, je sèche un peu, navré)
J'ai essayé de détailler un peu plus dans le classeur excel, au niveau du code.
J'aurais besoin d'un petit coup de main pour qui se sent de se lancer dans ce petit projet.
Le but final est d'avoir une feuille de paramètrage excel, sur laquelle se trouve donc les différentes listes possibles, et également des boutons qui lancent des macros.
Objectif: avoir différents paramètrages possibles, pouvoir créer des macros de lancement rapidement, tout en ayant une macro généraliste qui récupère l'ensemble des données en paramètres et qui permet de globaliser cet envoi de mail au maximum.
Je vous remercie d'avance,
Cordialement,
Thomas
Petit casse-tête pour les Vbaistes.
La boite dans laquelle je bosse actuellement (je bosse au service décisionnel, partie à part du service informatique) crée des matrices de rémunérations pour ses commerciaux en fonction de différents critères, ainsi que des états de production.
Bref, pas mal de tableau de reporting. Jusque là, pas de problème.
Là où je coince, c'est qu'ensuite, ces tableaux doivent être envoyés par mail à différentes entités.
J'entends par entité:
- une liste de destinataire
- une agence
- un directeur
- etc etc
Pour cela, j'ai à disposition une application excel vba pilote qui permet de paramétrer ces envois de mail.
Cette application doit répondre à différentes règles de paramètrage comme suit:
- une plage pour donner les chemins d'accès au fichier
- une plage pour le (ou les) destinataire(s)
- une plage pour le mail en copie
- plus tard: une cellule qui permettra de définir le corps du message
J'arrive à parcourir une plage de cellule (Selection) comme suit
Code:
Sub ParcoursSelection()
Dim Cel As Range
For Each Cel In Selection
MsgBox (Cel.Value & " - " & Cells(Cel.Row, Cel.Column + 1).Value)
Next
End Sub
Cependant, ça reste limité quand il est question de relatif.
Je m'explique: si dans mon fichier joint d'exemple, les tableaux commencent à la première ligne, ce n'est pas le cas dans mes tableaux de paramètrage.
De plus, il n'est pas nécessairement obligatoire de sélectionner tous les fichiers, mais seulement ceux que l'on souhaite envoyer, et même chose pour les destinataires et les copies.
Je ne sais pas trop comment gérer cela, même si j'ai les grandes lignes (cahier des charges).
Donc mes questions:
1) Comment récupérer la première, et donc également la dernière, cellule d'une plage sélectionnée continue ? (la plage complête sélectionnée peut référencer plusieurs lignes/colonnes discontinues - en général, 3 plages distinctes: liste des fichiers, liste des destinataires, liste des copies)
2) Comment faire la distinction entre les différentes colonnes et lignes ?
3) D'autres idées ? (oui, je sèche un peu, navré)
J'ai essayé de détailler un peu plus dans le classeur excel, au niveau du code.
J'aurais besoin d'un petit coup de main pour qui se sent de se lancer dans ce petit projet.
Le but final est d'avoir une feuille de paramètrage excel, sur laquelle se trouve donc les différentes listes possibles, et également des boutons qui lancent des macros.
Objectif: avoir différents paramètrages possibles, pouvoir créer des macros de lancement rapidement, tout en ayant une macro généraliste qui récupère l'ensemble des données en paramètres et qui permet de globaliser cet envoi de mail au maximum.
Je vous remercie d'avance,
Cordialement,
Thomas
Pièces jointes
Dernière édition: