Monday, 16. June 2008, 11:08:55
esterr, cherche, chaine, stringsplit
...
Il est assez facile de trouver dans une cellule un caractère via la fonction
CHERCHE.
Toutefois si le caractère n'est pas trouvé, il renvoie une erreur. Problème : CHERCHE est "case sensitive" (sensible à la casse).
J'ai donc préféré utiliser la fonction TROUVE. Similaire mais non sensible à la casse.
Cependant, même problème : cela renvoie une erreur si le caractère n'est pas trouvé.
Alors après un petit quart d'heure de recherche je pense avoir trouvé une formule sympathique qui génère un texte plutôt qu'une erreur.
Posons la situation :
- Cellule B4 : le caractère recherché,
- Cellule B5 : la chaine de caractère dans lequel doit s'effectuer la recherche
Dans la cellule B11, se trouve la formule.
J'utilise les fonctions suivantes :
SI,
ESTERR,
TROUVE.
Dans la suite d'idée,
j'imbrique ces différentes fonctions l'une dans l'autre, dans l'ordre donné ci-dessus. Pourquoi : je pose une condition que si une erreur est trouvé dans la recherche (via la fonction TROUVE), je renvoie un texte à défaut je calcule l'emplacement du caractère. Et c'est tout.
voila l'idée que je veux.
Voila donc la formule renvoyant le bon résultat :
=SI(B4="";"0";SI(SI(ESTERR(TROUVE(B4;B5))=VRAI;"Not Find";"Find")="Find";TROUVE(B4;B5);0))
Pour vous éviter de chercher...
Sunday, 20. August 2006, 11:04:01
microsoft, office, word, excel
...
Bien souvent il est utile de pouvoir envoyer envoyer un e-mail directement à partir d'une application sans combiner l'utilisation multiple de macro-commande dans les applications séparées.
Visual Basic for Application (VBA) permet cela aisément. Voyons la manière de le faire :
' Création d'un objet relatif à l'application Outlook
Dim OutlApp2 As New Outlook.Application
' Création d'un objet interne à l'application Outlook pré-déclarée e-mail
Dim OutlMail2 As MailItem
' Définition de la variable relative à l'application Outlook comme
' nouvelle application (objet)
Set OutlApp2 = New Outlook.Application
' Définition de l'élément interne de l'application Outlook comme
' création d'un nouvel élément mail
Set OutlMail2 = OutlApp2.CreateItem(olMailItem)
'Avec le nouvel élément mail,
With OutlMail2
' Indique à qui doit parvenir l e-mail
.To = "adresse_ou_listeDeDistribution@domaine.ext"
' Indique le sujet du message
.Subject = "Sujet_Du_Message"
' Indique le corps du message
.Body = "Corps du message"
' L'attachement du fichier qui doit être présent
' en tant que pièce jointe
.Attachments.Add "\\chemin\fichier.ext"
' Affichage du message avant envois
' .Display ' pour l'affichage du message
' Envois du message
.Send ' pour l'envoi direct du message
End With
Rien de plus... Vous pouvez aussi effectuer des envois avec Microsoft Word, Microsoft Powerpoint etc. Le code est similaire.
Il est important de noter que seul la méthode Send ou Display peuvent être employée mais non simultanément.
Le code étant suffisament commenté, je pense que tout est théoriquement clair.