Macro-commandes : si cellule =0 alors effacer
Fermé
sand95
-
27 mai 2011 à 18:10
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 31 mai 2011 à 13:38
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 31 mai 2011 à 13:38
A voir également:
- Macro-commandes : si cellule =0 alors effacer
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Invite de commandes - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Commandes terminal mac - Guide
20 réponses
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
27 mai 2011 à 18:12
27 mai 2011 à 18:12
Bonjour,
Une macro "traditionnelle", ça n'existe pas, c'est du VBA depuis la version 97 d'Office.
Peux tu être plus explicite sur ce que tu entends par là ?
m@rina
Une macro "traditionnelle", ça n'existe pas, c'est du VBA depuis la version 97 d'Office.
Peux tu être plus explicite sur ce que tu entends par là ?
m@rina
Bonsoir m@rina,
En fait je viens d'avoir une formation par mon entreprise sur ça et ça me parait plus parlant que le langage VBA.
Ce sont des formules du type :
=SELECTIONNER()
=EDTITION.SUPPRIMER(3)
Mais le formateur nous a bien dit que c'était toujours compatible dans les nouvelles version excel et que les gens utilisaient toujours !
Sandrine
En fait je viens d'avoir une formation par mon entreprise sur ça et ça me parait plus parlant que le langage VBA.
Ce sont des formules du type :
=SELECTIONNER()
=EDTITION.SUPPRIMER(3)
Mais le formateur nous a bien dit que c'était toujours compatible dans les nouvelles version excel et que les gens utilisaient toujours !
Sandrine
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
27 mai 2011 à 20:24
27 mai 2011 à 20:24
Sandrine, excuse-moi..., mais je tombe des nues !!
Je ne pensais pas qu'il existait encore des formations en langage Excel Macro 4.
Plus personne n'utilise ce langage actuellement qui a été remplacé par le VBA il y a 14 ans !
J'ai moi même programmé avec ce langage à l'époque, et également avec WordBasic, mais je serais bien incapable de t'aider ça fait trop longtemps que je n'y ai pas touché...
Il y a peut être des "anciens" sur ce forum qui s'en souviennent mieux que moi...
Ton formateur est bien gentil mais il vit à une autre époque !
Par curiosité, quelle version d'Excel utilisez vous dans ta société ?
m@rina
Je ne pensais pas qu'il existait encore des formations en langage Excel Macro 4.
Plus personne n'utilise ce langage actuellement qui a été remplacé par le VBA il y a 14 ans !
J'ai moi même programmé avec ce langage à l'époque, et également avec WordBasic, mais je serais bien incapable de t'aider ça fait trop longtemps que je n'y ai pas touché...
Il y a peut être des "anciens" sur ce forum qui s'en souviennent mieux que moi...
Ton formateur est bien gentil mais il vit à une autre époque !
Par curiosité, quelle version d'Excel utilisez vous dans ta société ?
m@rina
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
27 mai 2011 à 22:40
27 mai 2011 à 22:40
Bonsoir M@rina,,
veux tu que je te fasse un cours sur Multiplan sous cp/m ou, si tu le préfères, Qbasic sur nano-réseau, c'est très utilisé actuellement dans les entreprises...
pour être sérieux, tu me connais ;-), il y a rarement des utilisations de macroxl4, mais je les vois mal dans un cours de débutant comme la macro dite de Walkenbach pour donner la valeur d'une cellule dans un fichier restant fermé ou celle des noms cachés de Laurent Longre, bref des macros réalisées par 2 newbies surnommés chefs à 3 plumes!....
Quand tu dis que le formateur est gentil, mouuuais....
veux tu que je te fasse un cours sur Multiplan sous cp/m ou, si tu le préfères, Qbasic sur nano-réseau, c'est très utilisé actuellement dans les entreprises...
pour être sérieux, tu me connais ;-), il y a rarement des utilisations de macroxl4, mais je les vois mal dans un cours de débutant comme la macro dite de Walkenbach pour donner la valeur d'une cellule dans un fichier restant fermé ou celle des noms cachés de Laurent Longre, bref des macros réalisées par 2 newbies surnommés chefs à 3 plumes!....
Quand tu dis que le formateur est gentil, mouuuais....
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
Modifié par m@rina le 27/05/2011 à 22:56
Modifié par m@rina le 27/05/2011 à 22:56
Michel
J'ai fréquenté beaucoup d'entreprises, et je n'ai pas vu depuis très longtemps des utilisateurs de macro Excel 4. Et quand je dis que le formateur est gentil, c'est de vouloir faire croire le contraire.
Les compétences de JW et de LL n'ont rien à voir à l'affaire.
Pour tes cours sur tes vieilleries, non merci, ça ne me servirait plus à rien... Et je te rassure, je ne suis pas une débutante... J'ai trempé aussi là-dedans et ces choses là ne me sont pas étrangères.
Et... à propos, c'est Sandrine qui a besoin de ta formation, pas moi !
J'ai fréquenté beaucoup d'entreprises, et je n'ai pas vu depuis très longtemps des utilisateurs de macro Excel 4. Et quand je dis que le formateur est gentil, c'est de vouloir faire croire le contraire.
Les compétences de JW et de LL n'ont rien à voir à l'affaire.
Pour tes cours sur tes vieilleries, non merci, ça ne me servirait plus à rien... Et je te rassure, je ne suis pas une débutante... J'ai trempé aussi là-dedans et ces choses là ne me sont pas étrangères.
Et... à propos, c'est Sandrine qui a besoin de ta formation, pas moi !
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 241
27 mai 2011 à 22:30
27 mai 2011 à 22:30
Bonsoir,
Ah, je suppose que m@rina a eu le même sourire que moi en te lisant ;-)
Je pense aussi que ça serait perdre ton temps que de te pencher sur les anciennes macros excel.
VBA parait obscur au début mais une fois comprise la logique c'est beaucoup plus puissant et lisible.
Ose et lance-toi.... ;-)
eric
Ah, je suppose que m@rina a eu le même sourire que moi en te lisant ;-)
Je pense aussi que ça serait perdre ton temps que de te pencher sur les anciennes macros excel.
VBA parait obscur au début mais une fois comprise la logique c'est beaucoup plus puissant et lisible.
Ose et lance-toi.... ;-)
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben là je dois dire que je suis un peu dégoutée !!!
Bon je vais essayer de me mettre sur VBA alors.
Est ce que quelqu'un peut m'aider ?
J'aimerai faire un envoie automatique de mail pour envoyer mes factures mensuelles que j'ai enregistré sous c:/
Merci beaucoup
Et si quelqu'un peut me suivre pas à pas, ça serait super tip top :-)
merci d'avance :-)
Bon je vais essayer de me mettre sur VBA alors.
Est ce que quelqu'un peut m'aider ?
J'aimerai faire un envoie automatique de mail pour envoyer mes factures mensuelles que j'ai enregistré sous c:/
Merci beaucoup
Et si quelqu'un peut me suivre pas à pas, ça serait super tip top :-)
merci d'avance :-)
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
30 mai 2011 à 16:06
30 mai 2011 à 16:06
Bonjour Sandrine,
Ben oui, je comprends que tu sois dégoûtée... :(
Voici un code VBA basique qui permet d'envoyer le classeur courant à une adresse mail via Outlook :
m@rina
Ben oui, je comprends que tu sois dégoûtée... :(
Voici un code VBA basique qui permet d'envoyer le classeur courant à une adresse mail via Outlook :
Sub envoimail() Dim ol As Object, item As Object, adresse, objet, corps Set ol = CreateObject("outlook.application") Set item = ol.CreateItem(olMailItem) adresse = "adresse@adresse.com" 'adresse mail objet = "objet du mail" 'objet du mail corps = "Je vous prie de trouver ci-joint..." 'corps du mail item.To = adresse item.Subject = objet item.Body = corps Set myAttachments = item.Attachments myAttachments.Add ActiveWorkbook.FullName item.Send Set ol = Nothing End Sub
m@rina
C'est super m@rina, merci, ça marche !!!
Par contre, comment fais tu pour envoyer non pas un fichier actif mais un document (genre une facture) ?
Sandrine
Par contre, comment fais tu pour envoyer non pas un fichier actif mais un document (genre une facture) ?
Sandrine
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
30 mai 2011 à 16:21
30 mai 2011 à 16:21
La facture en question, ce n'est pas le document Excel ?
Parce que sinon, je ne vois pas bien l'intérêt de passe par Excel, autant travailler directement depuis Outlook.
m@rina
Parce que sinon, je ne vois pas bien l'intérêt de passe par Excel, autant travailler directement depuis Outlook.
m@rina
C'est que j'ai une liste de 50destinataires et les factures sont toutes enregistrer sous c:/
Je voudrais créer un bouton (macro) pour chaque contrepartie sous excel générer un mail qui reprendrait en plus toutes les données supplémentaire que je mettrais sous excel et qui figurerait dans le corps de mon mail...
Enfin, je ne sais pas si c très claire !?!:
Sandrine
Je voudrais créer un bouton (macro) pour chaque contrepartie sous excel générer un mail qui reprendrait en plus toutes les données supplémentaire que je mettrais sous excel et qui figurerait dans le corps de mon mail...
Enfin, je ne sais pas si c très claire !?!:
Sandrine
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
30 mai 2011 à 16:39
30 mai 2011 à 16:39
Non, ce n'est pas du tout clair pour moi, mais ça ressemble plus à du publipostage.
Regarde ici par exemple :
https://faqword.com/index.php/word-tutoriels/toutes-versions/670-publipostage-et-pj.html
m@rina
Regarde ici par exemple :
https://faqword.com/index.php/word-tutoriels/toutes-versions/670-publipostage-et-pj.html
m@rina
oui effectivement :-(
en fait je vais garder ta formule, elle me va bien :-b
merci bcp pour ton aide
Sandrine
en fait je vais garder ta formule, elle me va bien :-b
merci bcp pour ton aide
Sandrine
m@rina,
comment fait on pour ajouter des destinataires en copy ?
et faire des "aller à la ligne" dans le corps du message ?
merci
Sandrine
comment fait on pour ajouter des destinataires en copy ?
et faire des "aller à la ligne" dans le corps du message ?
merci
Sandrine
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
30 mai 2011 à 20:17
30 mai 2011 à 20:17
Pour mettre plusieurs destinataires, tu les sépares simplement par un point-virgule.
Pour ajouter des retours paragraphe, c'est le caractère 13 (Chr(13)
Il faut séparer les différents morceaux de textes par des &, ce qui donne par exemple :
m@rina
Pour ajouter des retours paragraphe, c'est le caractère 13 (Chr(13)
Il faut séparer les différents morceaux de textes par des &, ce qui donne par exemple :
"Bonjour" & Chr(13) & Chr(13) & "Vous voudrez bien trouver ci-joint la facture machin" & Chr(13) & "Ploum ploum"
m@rina
Bonjour m@rina,
Merci encore, toujours aussi efficace tes formules ;-)
Par contre, tu ne m'as pas mis la formule pour mettre en copy conforme un autre destinataire ??
Sandrine
Merci encore, toujours aussi efficace tes formules ;-)
Par contre, tu ne m'as pas mis la formule pour mettre en copy conforme un autre destinataire ??
Sandrine
m@rina,
j'ai trouvé la formule, j'ai ajouté une ligne adresse2= (adresse) et :
item.CC = adresse2
:-)
j'ai trouvé la formule, j'ai ajouté une ligne adresse2= (adresse) et :
item.CC = adresse2
:-)
Maintenant, comment puis je faire référence à une cellule (car ça change tous les mois et cela m'éviterait de le retaper tous les mois) dans le corps de mon message ?
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 241
31 mai 2011 à 10:20
31 mai 2011 à 10:20
Bonjour,
corps=[B1]
ou, si la feuille n'est pas active : corps=worksheets("Feuil2").[B1]
Tu peux aussi concatener plusieurs valeurs :
corps = [B1] & " " & Format(Date, "dd/mm/yyyy") & ", " & [C1]
eric
corps=[B1]
ou, si la feuille n'est pas active : corps=worksheets("Feuil2").[B1]
Tu peux aussi concatener plusieurs valeurs :
corps = [B1] & " " & Format(Date, "dd/mm/yyyy") & ", " & [C1]
eric
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 241
Modifié par eriiic le 31/05/2011 à 11:33
Modifié par eriiic le 31/05/2011 à 11:33
oui, c'est ce que faisait m@rina avec
Set myAttachments = item.Attachments
myAttachments.Add ActiveWorkbook.FullName
tu peux y ajouter :
myAttachments.Add "c:\tmp\mondoc.doc"
ou bien si ton nom de doc est dans une cellule :
myAttachments.Add "c:\tmp\" & [B1]
eric
PS : CC signifie Copie Carbone et non copie conforme (un vieux reste des machines à écrire... ;-) )
Set myAttachments = item.Attachments
myAttachments.Add ActiveWorkbook.FullName
tu peux y ajouter :
myAttachments.Add "c:\tmp\mondoc.doc"
ou bien si ton nom de doc est dans une cellule :
myAttachments.Add "c:\tmp\" & [B1]
eric
PS : CC signifie Copie Carbone et non copie conforme (un vieux reste des machines à écrire... ;-) )
m@rina
Messages postés
21089
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 novembre 2024
11 361
31 mai 2011 à 11:55
31 mai 2011 à 11:55
Hello eriiic !
"CC signifie Copie Carbone et non copie conforme (un vieux reste des machines à écrire... ;-) )"
Tu fais dans la vieillerie aussi ? mdr !!
Sinon, je sens que Sandrine va se faire très vite au VBA ! ;)
"CC signifie Copie Carbone et non copie conforme (un vieux reste des machines à écrire... ;-) )"
Tu fais dans la vieillerie aussi ? mdr !!
Sinon, je sens que Sandrine va se faire très vite au VBA ! ;)
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 241
31 mai 2011 à 12:31
31 mai 2011 à 12:31
Coucou m@rina :-)
Ahh, nostalgie, quand tu nous tiens... ;-)
Sinon, je sens que Sandrine va se faire très vite au VBA !
Elle a l'air intéressée oui, elle a même été trouver le .cc toute seule :-)
De toute façon, une du 95 j'étais confiant tout de suite.. ;-)
eric
Ahh, nostalgie, quand tu nous tiens... ;-)
Sinon, je sens que Sandrine va se faire très vite au VBA !
Elle a l'air intéressée oui, elle a même été trouver le .cc toute seule :-)
De toute façon, une du 95 j'étais confiant tout de suite.. ;-)
eric
HAHAHA !!!
C'est clair, faut se mettre à l'air du temps lol MDR
Bon ça marche mais l'adresse me prend la tête. Voici mon problème, rien à avoir avec les écritures de formule mais je voulais avoir votre expérience :
J'ai un certain nombre de facture généré automatiquement dans l'intranet de ma boite. Le problème est que toutes ces factures mensuelles sont enregistrées dans une dossier nommé :
201103 (pour mars 2011)
201104 (pour avril 2011)
Alors dans la formule :
myAttachments.Add "c:\tmp\mondoc.doc"
Comment puis je faire pour que ça prenne en automatique la modification du mois ??? Sachant que je traite le M-1 ???
C'est clair, faut se mettre à l'air du temps lol MDR
Bon ça marche mais l'adresse me prend la tête. Voici mon problème, rien à avoir avec les écritures de formule mais je voulais avoir votre expérience :
J'ai un certain nombre de facture généré automatiquement dans l'intranet de ma boite. Le problème est que toutes ces factures mensuelles sont enregistrées dans une dossier nommé :
201103 (pour mars 2011)
201104 (pour avril 2011)
Alors dans la formule :
myAttachments.Add "c:\tmp\mondoc.doc"
Comment puis je faire pour que ça prenne en automatique la modification du mois ??? Sachant que je traite le M-1 ???
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 241
Modifié par eriiic le 31/05/2011 à 12:44
Modifié par eriiic le 31/05/2011 à 12:44
Re,
Si tu traites réellement mois-1 en cours :
myAttachments.Add "c:\" & Year(Date) & Right("0" & Month(Date) - 1, 2) & "\" & [B1]
sinon si tu as une date avec le bon mois quelque part (en A1 par exemple) :
myAttachments.Add "c:\" & Format([A1], "yyyymm") & "\" & [B1]
avec le nom du doc en B1.
eric
PS : alors ! vba n'est pas mieux que les macros xl4 ? ;-)
Si tu traites réellement mois-1 en cours :
myAttachments.Add "c:\" & Year(Date) & Right("0" & Month(Date) - 1, 2) & "\" & [B1]
sinon si tu as une date avec le bon mois quelque part (en A1 par exemple) :
myAttachments.Add "c:\" & Format([A1], "yyyymm") & "\" & [B1]
avec le nom du doc en B1.
eric
PS : alors ! vba n'est pas mieux que les macros xl4 ? ;-)
Vraiment rien à envier à l'ancienne macro, trop tip top mais faut juste trouver les bonnes formules et vous m'êtes vraiment d'une aide ultra précieuse tous les 2 :-)
Merci beaucoup ça marche impec !!!!
Maintenant je vais m'attaquer au traitement des factures : comparaison de ma facture avec la facture de la contrepartie et ressortir automatiquement les écarts... une autre paire de manche !!!
Si pb, je vais poster un autre sujet car cela devient un peu long :-b Mais j'espère que vous me suivrez dans mon aventure l hihihi ... !!!
@ bientôt
Sandrine
Merci beaucoup ça marche impec !!!!
Maintenant je vais m'attaquer au traitement des factures : comparaison de ma facture avec la facture de la contrepartie et ressortir automatiquement les écarts... une autre paire de manche !!!
Si pb, je vais poster un autre sujet car cela devient un peu long :-b Mais j'espère que vous me suivrez dans mon aventure l hihihi ... !!!
@ bientôt
Sandrine
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 241
31 mai 2011 à 13:38
31 mai 2011 à 13:38
Comme tu penses t'installer ici pour un moment tu devrais t'inscrire, ça te permettra de retrouver et suivre plus facilement tes questions.
Et dans vbe tu devrais afficher la fenetre 'espions' (menu affichage).
Tu sélectionnes une variable (ou une expression comme Year(Date) & Right("0" & Month(Date) - 1, 2)) dans le code et tu fais un cliqué-glissé vers la fenetre espions.
Ca te permet de suivre l'évolution de la valeur si tu exécutes ton code en pas à pas (mettre le curseur dans le sub et faire F8 pour exécuter instruction par instruction)
eric
Et dans vbe tu devrais afficher la fenetre 'espions' (menu affichage).
Tu sélectionnes une variable (ou une expression comme Year(Date) & Right("0" & Month(Date) - 1, 2)) dans le code et tu fais un cliqué-glissé vers la fenetre espions.
Ca te permet de suivre l'évolution de la valeur si tu exécutes ton code en pas à pas (mettre le curseur dans le sub et faire F8 pour exécuter instruction par instruction)
eric