IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mémento sur la programmation en VBA pour EXCEL [Tutoriel]


Sujet :

Macros et VBA Excel

  1. #21
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut
    Chers membres du club,

    j'ai le plaisir de vous présenter ce nouveau mémento consacré à la cryptologie en VBA : Tome 4 - Un algorithme de chiffrement/déchiffrement des cellules pour une meilleure confidentialité

    Vous découvrirez aussi l’application CryptoVBA qui vous permet de rendre des cellules illisibles pour un utilisateur n'étant pas dans la confidence, ou encore chiffrer un fichier ou un mail.

    Bonne lecture et n'hésitez pas à apporter vos commentaires.

    Retrouvez les meilleurs cours et tutoriels pour apprendre Microsoft Excel

  2. #22
    Membre régulier
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Septembre 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier

    Informations forums :
    Inscription : Septembre 2016
    Messages : 22
    Points : 121
    Points
    121
    Par défaut
    Merci pour ce nouvel opus

    Toujours aussi interessant

  3. #23
    Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Points : 48
    Points
    48
    Par défaut
    Bonjour et merci pour cet excellent tuto. Très beau travail.

    J'utilise la version avec cryptoVBA.xlam pour mon projet et ça fonctionne plutôt bien.
    J'ai juste un comportement bizarre si j'intègre ou pas certaines colonnes de calculs.
    Si je ne les intègre pas dans la sélection, pas de problème. Je retrouve tous mes petits après déchiffrage.
    Si je les intègre, une fois déchiffrées, les formules sont exactement comme avant, mais certaines colonnes affichent #VALEUR!
    Je ne comprends pas pourquoi. Pour le moment, j'exclus ces colonnes de la plage a chiffrer mais je préfèrerais que tout soit chiffré.

    A ce propos, le fichier sera accessible par plusieurs personnes. J'aurais souhaité mettre un code individuel de manière à pouvoir exclure une personne n'ayant plus les droits mais je n'ai pas compris comment faire, ni même si c'était possible. Comment puis-je intégrer plusieurs clés avec .xlam ?

  4. #24
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut
    Bonjour.
    Je te conseille d'ouvrir une discussion sur le forum EXCEL. Tu pourras joindre tes fichiers au format xlsx (pas de xlsm) et on pourra voir plus facilement ce qui bloque.

  5. #25
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut
    Chers membres du club,

    Bonjour. J’ai l’honneur de vous présenter un 5ème mémento consacré à la programmation en VBA pour EXCEL : Tome 5 : Sentinelle - Une application qui veille sur vos classeurs sensibles - Exemples d'utilisations des tableaux de données et des requêtes SQL en VBA

    Cette fois nous étudierons l’utilisation des requêtes SQL pour manipuler les données d’une feuille de calculs.
    Vous trouverez des fonctions prêtes à l’emploi ainsi qu’une application pour mettre en pratique les notions abordées.

    Vous découvrirez que les requêtes SQL sont finalement très simples à utiliser et peuvent rendre de grands services aux programmeurs, en leur évitant l’écriture de nombreuses lignes de code.

    N’hésitez pas à commenter cette documentation, et à nous faire partager votre expérience et vos connaissances.

    Retrouvez les meilleurs cours et tutoriels pour apprendre Microsoft Excel

  6. #26
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut Éviter l'emploi de Sheets à la place de Worksheets.
    Bonjour,

    Tout d'abord, un grand bravo pour ce travail qui permet de « découvrir les bases de la programmation en VBA ».

    je n'ai parcouru qu'une partie du Tome 1 et dans le second chapitre,
    je vois ce qui pour moi est une erreur fondamentale (quoique très fréquente) lorsqu'il s'agit apprentissage.
    Je suis surpris que personne ne l'ait signalée.
    Tu écris :
    La syntaxe respecte la logique suivante : Workbooks - Sheets - Range - Value = 15

    Alors qu'il faudrait écrire :
    La syntaxe respecte la logique suivante : Workbooks - Worksheets - Range - Value = 15

    En effet, l'objet Range et tous ceux qui représentent des cellules, n'appartiennent pas à un hypothétique objet Sheet (qui n'existe pas) mais bel et bien à l'objet Worksheet,
    renvoyé par Sheets() mais dans le cas où Sheets(xxx) représente un Chart, la syntaxe Sheets(xxx).Range(yyy) renvoie une erreur.
    Et bien évidemment, on retrouve cette anomalie dans les nombreux exemples de code qui suivent.

    Pour finir, toutes mes félicitations pour l'attention que tu as apporté à déclarer systématiquement les variables dans chaque exemple.
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  7. #27
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut ALEA.ENTRE.BORNES(0;10000) ==> Tome 1 P29/100
    Bonjour Laurent,

    Je suis une débutante dans EXCEL VBA et je suis en train de me former avec tes cours ==> Les cours sont supers bien, je te remercie de les partager

    Je suis actuellement sur le thème tri des donnée. Dans TOME 1 P29/100, tu as parlé de la fonction ALEA.ENTRE.BORNES(0;10000) ==> Je n'arrive pas à trouver l'écriture correcte ...

    ==> Donc je ne sais pas l'utiliser pour remplir 10 000 cellules dans une colonne ...

    Merci merci beaucoup
    XJ

  8. #28
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Citation Envoyé par xingjing910 Voir le message
    Bonjour Laurent,

    Je suis une débutante dans EXCEL VBA et je suis en train de me former avec tes cours ==> Les cours sont supers bien, je te remercie de les partager

    Je suis actuellement sur le thème tri des donnée. Dans TOME 1 P29/100, tu as parlé de la fonction ALEA.ENTRE.BORNES(0;10000) ==> Je n'arrive pas à trouver l'écriture correcte ...

    ==> Donc je ne sais pas l'utiliser pour remplir 10 000 cellules dans une colonne ...

    Merci merci beaucoup
    XJ
    Il ne s'agit pas de VBA mais d'une formule à placer en A1 d'une feuille de calcul et à tirer jusqu'en A10000 :
    =ALEA.ENTRE.BORNES(0;10000)

    Edit : avec les raccourcis clavier, c'est plus simple de la placer en A10000 et de la copier jusqu'en A1
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  9. #29
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Patrice740 Voir le message
    Il ne s'agit pas de VBA mais d'une formule à placer en A1 d'une feuille de calcul et à tirer jusqu'en A10000 :
    =ALEA.ENTRE.BORNES(0;10000)

    Edit : avec les raccourcis clavier, c'est plus simple de la placer en A10000 et de la copier jusqu'en A1
    Merci bien Patrice, je croyais que c'est à écrire dans le programme
    Merci encore

  10. #30
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 139
    Points : 90
    Points
    90
    Par défaut
    Bonjour Laurent,
    Est-ce qu'il existe des discussion spécialement sur une Tome ?
    Par exemple, discussion sur la TOME 1, ce qui permet aux autres ( surtout moi ) de poser des questions liées ???
    Par exemple dans la P40/100 de la TOME1, la code

    T = Timer: While T + 1 > Timer: Wend ' Attente 1 seconde l'envoi du message.
    Je ne comprends pas trop l'écriture de cette code, pourquoi elle permet d'attendre une seconde ?

    Merci d'avance
    Cdlt

  11. #31
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut
    Bonjour.
    Tu peux ouvrir une discussion sur le forum EXCEL : https://www.developpez.net/forums/f6...ros-vba-excel/ en cliquant sur le bouton "ajouter une discussion" après t'être identifié(e).
    Ou me contacter en messagerie privée : en cliquant sur mon nom. D'ailleurs tu constateras dans ton "tableau de bord", rubrique "boîte de réception", que j'avais répondu à ton précédent message.
    Et tu y trouveras la réponse à cette nouvelle question.
    A Bientôt.

  12. #32
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 48
    Points
    48
    Par défaut
    Merci beaucoup pour l'ensemble de ces tutoriels très enrichissants !

  13. #33
    Candidat au Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ouvrier
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Remerciement
    Bonjour, merci beaucoup, je débute sur excel, cela fait une semaine que je me forme comme je peuux avec ce que je trouve sur internet et franchement votre Pdf est vraiment bien.

  14. #34
    Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2018
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Pas mal, voir aussi...
    Je l'ai regardé en diagonale, ça semble pas mal ce guide.
    Je n'ai plus besoin de lire un guide introductif mais moi ce qui m'a permis de décoller rapidement c'est le guide de Ben Beitler, http://www.excel-spreadsheet.com/vba/vbacode.htm
    Très didactique et il va droit au but.

  15. #35
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut TOME 6
    Chers membres du club,

    J'ai le plaisir de vous présenter ce sixième mémento qui va vous apprendre la programmation de nouvelles fonctions Excel pour l'utilisateur.

    Ce sixième et dernier volet de cette hexalogie sur la programmation en VBA pour EXCEL explore un aspect qui n'a pas été souvent abordé dans les précédents mémentos : le développement de fonctions pour simplifier la vie des utilisateurs (et non plus des programmeurs).

    Un vaste sujet dont on peut difficilement faire le tour en quelques pages.
    Alors ici nous ne présenterons que le contour des techniques à utiliser. Rassurez-vous, il n'y a rien de bien compliqué, d'autant plus qu'Alice et Bob vous guideront au fil de votre lecture.
    Bonne lecture et n'hésitez pas à apporter vos commentaires



    Retrouvez les meilleurs cours et tutoriels pour apprendre Microsoft Excel

  16. #36
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Bonjour Laurent,
    merci beaucoup pour ce mémento.
    C'est super.

    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  17. #37
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2013
    Messages : 9
    Points : 34
    Points
    34
    Par défaut Choix de la condition IF et du diviseur /
    Permettez-moi de vous remercier d'abord pour ces excellents documents.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If ValRecherchée <= TabDonnées(Début) Then TableauRecherchePosition = Début: Exit Function
    If ValRecherchée >= TabDonnées(Fin - 1) Then TableauRecherchePosition = Fin: Exit Function
    Pourquoi vous avez préférer le IF au SELECT CASE? J'ai lu quelque part sur ce site que le second est plus rapide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Milieu = (Début + Fin) / 2
    Pourquoi avoir utiliser le / en lieu et place du \? Étant donné qu'on a besoin de la partie entière de la division, le second n'est il pas plus rapide?

  18. #38
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut
    Citation Envoyé par maliano20 Voir le message
    Pourquoi vous avez préféré le IF au SELECT CASE? J'ai lu quelque part sur ce site que le second est plus rapide.
    Par habitude de programmation, tout simplement (et tout bêtement) !
    Je viens de tester et effectivement, SELECT CASE semble bien plus rapide que IF dans une boucle répétée plusieurs milliers de fois. Mais la différence est infime sur un appel ponctuel. En tout cas merci pour cette remarque, j'en tiendrai compte dans mes prochains programmes.

    Citation Envoyé par maliano20 Voir le message
    Pourquoi avoir utiliser le / en lieu et place du \? Étant donné qu'on a besoin de la partie entière de la division, le second n'est il pas plus rapide?
    D'après mes tests, le second n'est pas plus rapide. Ici, comme la variable "Milieu" est déclarée Entier Long, la valeur calculée renvoyée sera toujours un entier (donc la partie entière), et donc pas besoin d'utiliser \ dans ce cas.

  19. #39
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2013
    Messages : 9
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par laurent_ott Voir le message
    Par habitude de programmation, tout simplement (et tout bêtement) !
    Je viens de tester et effectivement, SELECT CASE semble bien plus rapide que IF dans une boucle répétée plusieurs milliers de fois. Mais la différence est infime sur un appel ponctuel. En tout cas merci pour cette remarque, j'en tiendrai compte dans mes prochains programmes.


    D'après mes tests, le second n'est pas plus rapide. Ici, comme la variable "Milieu" est déclarée Entier Long, la valeur calculée renvoyée sera toujours un entier (donc la partie entière), et donc pas besoin d'utiliser \ dans ce cas.
    Merci pour votre prompt réaction.

  20. #40
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 947
    Points : 4 058
    Points
    4 058
    Par défaut
    À noter qu'il y a encore plus rapide que SELECT CASE, c'est WHILE .... WEND, ou encore DO UNTIL ... LOOP
    J'utilise parfois cela dans l'algorithme QuickRanking.

Discussions similaires

  1. [VBA pour Excel] Différence entre activate et select
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/10/2008, 17h20
  2. [VBA-E] Help création d'un programme vba pour excel
    Par yampi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2007, 11h46
  3. [VBA-E] tri sur VBA pour Excel
    Par mariedrouin dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/05/2006, 13h32
  4. Réaliser une macro en VBA pour excel afin de créer un graphe
    Par xavier le breuil dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo