Opérations avec des objets Microsoft Excel. Contrôles de formulaire dans MS EXCEL

Les contrôles de formulaire (Combo Box, Checkbox, Counter, etc.) vous aident à modifier rapidement les données de la feuille dans une certaine plage, à activer et désactiver les options, à effectuer des sélections, etc. En principe, vous pouvez vous en passer, mais ils le font contrôlez les données sur la feuille de manière plus visuelle et réduisez la possibilité de saisir des données incorrectes.

Pour insérer des champs sur une feuille, un onglet doit être affiché Développeur.

  • Dans MS EXCEL 2007, cela peut être fait via le menu Bouton Office/ Options Excel/ Général/ Afficher l'onglet Développeur sur le ruban .
  • Dans MS EXCEL 2010, cela peut être fait comme ceci : Ouvrez l'onglet Dossier; Cliquez sur le bouton Choix; Cliquez sur le bouton Personnaliser le ruban; Choisissez une équipe Personnalisation du ruban et onglets principaux cochez la case Développeur.

Vous pouvez maintenant insérer un contrôle via le menu : .

Notez que dans ce menu, vous pouvez insérer des contrôles ActiveX qui se trouvent sous les contrôles de formulaire qui nous intéressent. Les deux types ont les mêmes éléments Bouton, Liste, Case à cocher, etc. La différence entre les deux est que vous devez utiliser VBA pour utiliser les contrôles ActiveX, tandis que les contrôles de formulaire peuvent être directement liés à une cellule sur une feuille.

Pour ceux qui n'ont jamais travaillé avec les contrôles de formulaire, nous vous recommandons de vous familiariser avec eux en détail dans les articles suivants :

Dans cet article, nous examinerons un exemple plus complexe de partage de contrôles et de fichiers .

Exemple

Analysons un exemple spécifique d'utilisation de plusieurs contrôles à la fois. Le fichier d'exemple montre comment l'utilisateur peut modifier les valeurs du tableau à l'aide de contrôles (plage F9:K12 ).

Avec l'un des 3 contrôles Zone de liste déroulante, liste et Compteur, l'utilisateur peut sélectionner la colonne du tableau (année) . La commande souhaitée est sélectionnée à l'aide du groupe commutateurs. Le nom de l'élément sélectionné est surligné en gris (voir Fig. A8:B8 En figue. au dessus). L'année sélectionnée est surlignée dans le tableau en gris foncé (voir Fig. H9:H12 En figue. au dessus). L'affichage de cette sélection est réglable case à cocher(le fond du drapeau est rouge). barres de défilement peut être modifié le prix et Quantité dans l'année sélectionnée, mais seulement dans une certaine plage. Maintenant - plus en détail.

Commutateurs

Tout d'abord, insérons un élément dans la feuille. Avec cet élément, nous allons activer et désactiver la sélection dans le tableau de la colonne de l'année sélectionnée. Lier l'élément à la cellule $G$2 . Si la case est décochée, alors cette cellule sera FAUX (cette valeur correspond à 0), si cochée, alors VRAI (cette valeur correspond à 1).

Sélectionnez une plage de réglage. G9:K12 . Étant donné que la formule dans la mise en forme conditionnelle contiendra , nous nous assurerons qu'après avoir sélectionné la plage, la cellule active est G9 (c'est-à-dire que la plage doit être sélectionnée à partir de celle-ci. L'indice est le champ Nom, situé à gauche de Barres de formule. Après avoir sélectionné une plage, celle-ci doit contenir g 9 ).

  • appeler l'outil ( Accueil/ Styles/ Mise en forme conditionnelle/ Créer une règle);
  • sélectionner Utiliser la formule définir des cellules formatées ;
  • dans le champ " Formater les valeurs pour lesquelles la formule suivante est vraie" Entrer =ET(COLONNE(G9)=DécalageAnnée+6,$G$2) La formule deviendra VRAIE lorsque 2 conditions seront remplies simultanément :
  • valeur d'expression ( DécalageAnnée(passe de 1 à 5 (c'est-à-dire 2009 à 2013) + 6) correspond au numéro de colonne actuel (7, c'est-à-dire 2009) ;
  • Case à cocher Mise en forme conditionnelle installée.
  • sélectionnez le format requis, par exemple, couleur de remplissage grise ;
  • cliquez sur OK.

Essai

  • assurez-vous que la case à cocher est Mise en forme conditionnelle installée;
  • choisissez le bouton radio Liste;
  • dans le contrôle Liste choisissez 2010;
  • assurez-vous que la colonne 2010 surligné en gris ;
  • barre de défilement modifier la quantité dans la colonne 2010.

Le résultat est montré dans la figure.

Malheureusement, les contrôles de formulaire Case à cocher, Combo Box et Liste il n'y a aucun moyen de formater la police affichée. Mais cela peut être fait pour les contrôles ActiveX ( Développeur/ Contrôles/ Coller). Certes, pour travailler avec ces éléments, vous devez écrire un programme en VBA.

Pour faciliter la saisie de données dans un tableau dans Excel, vous pouvez utiliser des formulaires spéciaux qui aideront à accélérer le processus de remplissage d'une plage de tableaux avec des informations. Excel dispose d'un outil intégré qui vous permet de remplir de cette manière. De plus, l'utilisateur peut créer sa propre version du formulaire, qui sera adaptée au maximum à ses besoins, en utilisant une macro pour cela. Jetons un coup d'œil aux différentes utilisations de ces outils de remplissage utiles dans Excel.

Le formulaire de remplissage est un objet avec des champs dont les noms correspondent aux noms des colonnes des colonnes de la table en cours de remplissage. Vous devez entrer des données dans ces champs et ils seront immédiatement ajoutés en tant que nouvelle ligne à la plage du tableau. Le formulaire peut agir à la fois comme un outil Excel intégré séparé et situé directement sur la feuille comme sa plage, s'il est créé par l'utilisateur lui-même.

Voyons maintenant comment utiliser ces deux types d'outils.

Méthode 1 : objet intégré pour la saisie de données Excel

Tout d'abord, apprenons à utiliser le formulaire intégré pour la saisie de données Excel.

  1. Il est à noter que par défaut l'icône qui le lance est masquée et doit être activée. Pour cela, rendez-vous dans l'onglet "Dossier", puis cliquez sur l'élément "Options".
  2. Dans la fenêtre d'options Excel qui s'ouvre, passez à la section "Barre d'accès rapide". La majeure partie de la fenêtre est occupée par une vaste zone de paramètres. Sur le côté gauche, il y a des outils qui peuvent être ajoutés à la barre d'outils d'accès rapide, et sur le côté droit, il y a ceux qui sont déjà présents.

    Dans le champ "Sélectionner les commandes de" valeur de consigne "Commandes pas sur le ruban". De plus, dans la liste des commandes, classées par ordre alphabétique, nous trouvons et sélectionnons la position "La forme…". Cliquez ensuite sur le bouton "Ajouter".

  3. Après cela, l'outil dont nous avons besoin sera affiché sur le côté droit de la fenêtre. Cliquez sur le bouton D'ACCORD.
  4. Maintenant, cet outil est situé dans la fenêtre Excel de la barre d'outils d'accès rapide et nous pouvons l'utiliser. Il sera présent lorsqu'un classeur est ouvert par cette instance d'Excel.
  5. Maintenant, pour que l'outil comprenne exactement ce qu'il doit remplir, vous devez concevoir l'en-tête du tableau et y écrire n'importe quelle valeur. Laissez le tableau que nous avons se composera de quatre colonnes qui ont des noms "Nom du produit", "Quantité", "Prix" et "Somme". Nous entrons ces noms dans une plage horizontale arbitraire de la feuille.
  6. De plus, pour que le programme comprenne exactement avec quelles plages il devra travailler, vous devez entrer n'importe quelle valeur dans la première ligne du tableau.
  7. Après cela, sélectionnez n'importe quelle cellule du tableau vide et cliquez sur l'icône de la barre d'outils d'accès rapide "La forme…", que nous avons précédemment activé.
  8. Ainsi, la fenêtre de l'outil spécifié s'ouvre. Comme vous pouvez le voir, cet objet a des champs qui correspondent aux noms des colonnes de notre tableau tableau. Dans ce cas, le premier champ est déjà rempli avec une valeur, puisque nous l'avons saisie manuellement sur la feuille.
  9. Entrez les valeurs que nous considérons nécessaires dans les champs restants, puis cliquez sur le bouton "Ajouter".
  10. Après cela, comme nous pouvons le voir, les valeurs saisies ont été automatiquement transférées vers la première ligne du tableau, et dans le formulaire, il y a eu une transition vers le bloc de champs suivant, qui correspond à la deuxième ligne du tableau du tableau.
  11. Nous remplissons la fenêtre de l'outil avec les valeurs que nous voulons voir dans la deuxième ligne de la zone de tableau, et cliquons à nouveau sur le bouton "Ajouter".
  12. Comme vous pouvez le voir, les valeurs de la deuxième ligne ont également été ajoutées et nous n'avons même pas eu à réorganiser le curseur dans le tableau lui-même.
  13. Ainsi, nous remplissons le tableau de table avec toutes les valeurs que nous voulons y entrer.
  14. De plus, si vous le souhaitez, vous pouvez naviguer parmi les valeurs précédemment saisies à l'aide des boutons "Retour" et "Plus loin" ou barre de défilement verticale.
  15. Si nécessaire, vous pouvez corriger n'importe quelle valeur dans le tableau de la table en la modifiant dans le formulaire. Pour que les modifications soient affichées sur la feuille, après les avoir effectuées dans le bloc correspondant de l'outil, cliquez sur le bouton "Ajouter".
  16. Comme vous pouvez le voir, le changement s'est produit immédiatement dans la zone de tableau.
  17. Si nous devons supprimer une ligne, puis via les boutons de navigation ou la barre de défilement, nous allons au bloc de champs qui lui correspond dans le formulaire. Après cela, cliquez sur le bouton "Effacer" dans la fenêtre de l'outil.
  18. Une boîte de dialogue d'avertissement s'ouvre, vous informant que la ligne sera supprimée. Si vous êtes confiant dans vos actions, cliquez sur le bouton D'ACCORD.
  19. Comme vous pouvez le voir, la ligne a été extraite de la plage du tableau. Une fois le remplissage et l'édition terminés, vous pouvez quitter la fenêtre d'outils en cliquant sur le bouton "Proche".
  20. Après cela, pour donner au tableau une apparence visuelle plus visuelle, un formatage peut être effectué.

Méthode 2 : Créer un UserForm

De plus, à l'aide d'une macro et d'un certain nombre d'autres outils, il est possible de créer votre propre formulaire utilisateur pour remplir la zone du tableau. Il sera créé directement sur la feuille, et représentera sa plage. Avec l'aide de cet outil, l'utilisateur pourra lui-même mettre en œuvre les fonctionnalités qu'il juge nécessaires. En termes de fonctionnalité, il ne cédera pratiquement en aucune façon à l'analogue intégré d'Excel, et à certains égards, peut-être, le surpassera. Le seul inconvénient est que vous devrez créer un formulaire séparé pour chaque tableau de tableau, et ne pas utiliser le même modèle, comme c'est possible avec la version standard.

  1. Comme dans la méthode précédente, vous devez tout d'abord créer un en-tête pour le futur tableau sur la feuille. Il sera composé de cinq cellules avec des noms : "Non p / p", "Nom du produit", "Quantité", "Prix", "Somme".
  2. Ensuite, nous devons créer une table dite "intelligente" à partir de notre tableau de table, avec la possibilité d'ajouter automatiquement des lignes lors du remplissage de plages ou de cellules voisines avec des données. Pour ce faire, sélectionnez l'en-tête et, étant dans l'onglet "Maison", cliquez sur le bouton "Formater sous forme de tableau" dans la boîte à outils "Modes". Cela ouvre une liste des options de style disponibles. Le choix de l'un d'entre eux n'affectera en rien la fonctionnalité, nous choisissons donc simplement l'option que nous considérons la plus appropriée.
  3. Ensuite, une petite fenêtre de formatage de tableau s'ouvre. Il spécifie la plage que nous avons précédemment sélectionnée, c'est-à-dire la plage de l'en-tête. En règle générale, tout est rempli correctement dans ce champ. Mais nous devrions cocher la case à côté du paramètre "Table avec en-têtes". Après cela, cliquez sur le bouton D'ACCORD.
  4. Ainsi, notre gamme est formatée comme une table "intelligente", comme en témoigne même le changement d'affichage visuel. Comme vous pouvez le voir, entre autres, des icônes de filtrage sont apparues à côté de chaque nom d'en-tête de colonne. Ils doivent être désactivés. Pour ce faire, sélectionnez n'importe quelle cellule du tableau "intelligent" et accédez à l'onglet "Données". Là sur le ruban dans la boîte à outils "Trier et filtrer" cliquez sur l'icône "Filtre".

    Il existe une autre option pour désactiver le filtre. Dans ce cas, il ne sera même pas nécessaire de basculer sur un autre onglet, en restant dans l'onglet "Maison". Après avoir sélectionné une cellule de zone de tableau sur le ruban dans le bloc de paramètres "Édition" cliquez sur l'icône "Trier et filtrer". Sélectionnez un élément dans la liste qui s'affiche. "Filtre".

  5. Comme vous pouvez le voir, après cette action, les icônes de filtrage ont disparu de l'en-tête du tableau, comme requis.
  6. Ensuite, nous devons créer le formulaire de saisie de données lui-même. Ce sera aussi une sorte de tableau tabulaire composé de deux colonnes. Les noms des lignes de cet objet correspondront aux noms des colonnes de la table principale. Les colonnes sont une exception. "Non p / p" et "Somme". Ils seront absents. Le premier d'entre eux sera numéroté à l'aide d'une macro et les valeurs du second seront calculées en appliquant la formule de multiplication de la quantité par le prix.

    Laissons la deuxième colonne de l'objet d'entrée de données vide pour l'instant. Les valeurs y seront saisies directement plus tard pour remplir les lignes de la plage principale du tableau.

  7. Après cela, nous créons une autre petite table. Il sera composé d'une colonne et contiendra une liste de produits que nous afficherons dans la deuxième colonne du tableau principal. Pour plus de clarté, la cellule avec le titre de cette liste ( "Liste de produits") peut être rempli de couleur.
  8. Ensuite, nous sélectionnons la première cellule vide de l'objet d'entrée de valeur. Aller à l'onglet "Données". Cliquez sur l'icône "La validation des données", qui se trouve sur le ruban dans la boîte à outils "Travailler avec les données".
  9. La fenêtre de validation des entrées s'ouvrira. Cliquez sur le champ "Type de données", qui par défaut est "De n'importe quelle valeur".
  10. Choisissez une position parmi les options qui s'affichent. "Liste".
  11. Comme vous pouvez le voir, après cela, la fenêtre de vérification des valeurs d'entrée a quelque peu changé sa configuration. Ajout d'un champ supplémentaire "La source". Nous cliquons sur l'icône à sa droite avec le bouton gauche de la souris.
  12. Ensuite, la fenêtre de validation des entrées est minimisée. Nous sélectionnons avec le curseur avec le bouton gauche de la souris enfoncé la liste des données qui sont placées sur la feuille dans la zone de table supplémentaire "Liste de produits". Après cela, cliquez à nouveau sur l'icône à droite du champ dans lequel l'adresse de la plage sélectionnée est apparue.
  13. Il y a un retour à la fenêtre de vérification des valeurs saisies. Comme vous pouvez le voir, les coordonnées de la plage sélectionnée sont déjà affichées dans le champ "La source". Nous cliquons sur le bouton D'ACCORD au bas de la fenêtre.
  14. Maintenant, à droite de la cellule vide sélectionnée de l'objet de saisie de données, une icône en forme de triangle est apparue. Lorsque vous cliquez dessus, une liste déroulante s'ouvre, composée de noms extraits du tableau "Liste de produits". Il est maintenant impossible d'entrer des données arbitraires dans la cellule spécifiée, mais vous ne pouvez sélectionner que la position souhaitée dans la liste présentée. Sélectionnez un élément dans la liste déroulante.
  15. Comme vous pouvez le voir, la position sélectionnée est immédiatement affichée dans le champ "Nom du produit".
  16. Ensuite, nous devrons attribuer des noms aux trois cellules du formulaire de saisie dans lesquelles nous entrerons des données. Sélectionnez la première cellule, où le nom est déjà défini dans notre cas "Pomme de terre". Ensuite, allez dans le champ du nom de la plage. Il est situé sur le côté gauche de la fenêtre Excel au même niveau que la barre de formule. Entrez-y un nom arbitraire. Il peut s'agir de n'importe quel nom en latin, dans lequel il n'y a pas d'espaces, mais il est préférable d'utiliser des noms proches des tâches résolues par cet élément. Par conséquent, la première cellule, qui contient le nom du produit, nous l'appellerons Nom. Écrivez ce nom dans le champ et appuyez sur le bouton Entrer au clavier.
  17. De la même manière, nous attribuons le nom à la cellule dans laquelle nous entrerons la quantité de marchandises Le volume.
  18. Et la cellule avec le prix - Prix.
  19. Après cela, exactement de la même manière, nous donnons le nom à toute la plage des trois cellules ci-dessus. Tout d'abord, nous allons sélectionner, puis nous lui donnerons un nom dans un champ spécial. Que ce soit le nom Intervalle.
  20. Après la dernière action, nous devons enregistrer le document afin que les noms que nous avons attribués puissent être perçus par la macro que nous avons créée ultérieurement. Pour enregistrer, rendez-vous dans l'onglet "Dossier" et cliquez sur l'article "Enregistrer sous…".
  21. Dans la fenêtre de sauvegarde qui s'ouvre, dans le champ "Type de fichier" choisir une valeur "Classeur Excel prenant en charge les macros (.xlsm)". Cliquez ensuite sur le bouton "Sauvegarder".
  22. Ensuite, vous devez dans votre version d'Excel et activer l'onglet "Développeur" si vous ne l'avez pas déjà fait. Le fait est que ces deux fonctions sont désactivées par défaut dans le programme et leur activation doit être forcée dans la fenêtre des options d'Excel.
  23. Après avoir fait cela, allez dans l'onglet "Développeur". Cliquez sur la grande icône "Visual Basic", qui se trouve sur le ruban dans la boîte à outils "Le code".
  24. La dernière action provoque le lancement de l'éditeur de macros VBA. Dans la région de Projet, qui se trouve dans la partie supérieure gauche de la fenêtre, sélectionnez le nom de la feuille où se trouvent nos tables. Dans ce cas, ce "Feuille 1".
  25. Après cela, allez dans la zone inférieure gauche de la fenêtre appelée "Propriétés". Voici les paramètres de la feuille sélectionnée. Dans le champ "(Nom)" Le nom cyrillique doit être remplacé ( "Feuille1") au nom écrit en latin. Vous pouvez donner n'importe quel nom qui vous convient le mieux, l'essentiel est qu'il ne contienne que des caractères latins ou des chiffres et qu'il n'y ait pas d'autres caractères ou espaces. C'est avec ce nom que la macro fonctionnera. Soit dans notre cas ce nom produit, bien que vous puissiez en choisir un autre répondant aux conditions décrites ci-dessus.

    Dans le champ Nom vous pouvez également changer le nom pour un nom plus pratique. Mais ceci est facultatif. L'utilisation d'espaces, de caractères cyrilliques et de tout autre caractère est autorisée. Contrairement au paramètre précédent qui spécifiait le nom de la feuille pour le programme, ce paramètre attribue un nom à la feuille visible par l'utilisateur dans la barre de raccourcis.

    Comme vous pouvez le voir, après cela, le nom changera automatiquement. Feuille 1 dans la région de Projet, à celui que nous venons de définir dans les paramètres.

  26. Allez ensuite dans la zone centrale de la fenêtre. C'est là que nous devrons écrire le code de la macro lui-même. Si le champ blanc de l'éditeur de code dans la zone spécifiée ne s'affiche pas, comme dans notre cas, alors cliquez sur la touche de fonction F7 et il apparaîtra.
  27. Maintenant, pour notre exemple spécifique, nous devons écrire le code suivant dans le champ :

    Sous DataEntryForm()
    Estomper la ligne suivante aussi longtemps
    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
    Avec fabrication
    Si .Range("A2").Value = "" Et .Range("B2").Value = "" Alors
    ligne suivante = ligne suivante - 1
    Fin si
    Production.Range("Nom").Copier




    .Range("A2").Formula = "=SI(ESTVIDE(B2), """", NBVAL($B$2:B2))"
    Si nextRow > 2 Alors
    Plage("A2").Sélectionnez


    Fin si
    .Range("Range").ClearContents
    terminer par
    fin sous

    Mais ce code n'est pas universel, c'est-à-dire qu'il ne convient qu'à notre cas sans changement. Si vous souhaitez l'adapter à vos besoins, il convient de le modifier en conséquence. Pour que vous puissiez le faire vous-même, regardons en quoi consiste ce code, ce qu'il faut y remplacer et ce qu'il ne faut pas changer.

    Donc première ligne :

    Sous DataEntryForm()

    "Formulaire de saisie de données" est le nom de la macro elle-même. Vous pouvez le laisser tel quel ou le remplacer par tout autre qui respecte les règles générales de création de noms de macros (pas d'espaces, utilisation uniquement de lettres latines, etc.). Changer le nom n'affectera rien.

    Partout où le mot apparaît dans le code produit vous devez le remplacer par le nom que vous avez précédemment attribué à votre feuille dans le champ "(Nom)" domaines "Propriétés"éditeur de macros. Naturellement, cela ne devrait être fait que si vous avez nommé la feuille différemment.

    Considérez maintenant cette ligne :

    nextRow = Producty.Cells(Producty.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

    Numéro "2" dans cette ligne signifie la deuxième colonne de la feuille. C'est dans cette colonne que se situe la colonne "Nom du produit". En fonction de cela, nous compterons le nombre de lignes. Par conséquent, si dans votre cas une colonne similaire a un ordre différent dans le compte, vous devez entrer le numéro approprié. Sens "Fin(xlHaut).Décalage(1, 0).Ligne" dans tous les cas, nous la laissons inchangée.

    Si .Range("A2").Value = "" Et .Range("B2").Value = "" Alors

    "A2" sont les coordonnées de la première cellule dans laquelle la numérotation des lignes sera affichée. "B2"- ce sont les coordonnées de la première cellule sur laquelle les données seront sorties ( "Nom du produit"). S'ils sont différents pour vous, entrez vos données à la place de ces coordonnées.

    Aller à la ligne

    Production.Range("Nom").Copier

    Il contient le paramètre Nom signifie le nom que nous avons donné au champ "Nom du produit" dans le formulaire de saisie.

    En lignes

    Cellules(nextRow, 2).PasteSpecial Coller :=xlPasteValues
    .Cells(nextRow, 3).Value = Producty.Range("Volum").Value
    .Cells(nextRow, 4).Value = Production.Range("Prix").Value
    .Cells(nextRow, 5).Value = Producty.Range("Volum").Value * Producty.Range("Price").Value

    dénominations Le volume et Prix désignent les noms que nous avons attribués aux champs "Quantité" et "Prix" dans le même formulaire de saisie.

    Dans les mêmes lignes que nous avons indiquées ci-dessus, les chiffres "2", "3", "quatre", "5" signifient les numéros des colonnes sur la feuille Excel correspondant aux colonnes "Nom du produit", "Quantité", "Prix" et "Somme". Par conséquent, si dans votre cas le tableau est décalé, vous devez spécifier les numéros de colonne correspondants. S'il y a plus de colonnes, alors par analogie, vous devez ajouter ses lignes au code, s'il y en a moins, supprimez celles qui sont en trop.

    La ligne multiplie la quantité du produit par son prix :

    Cellules(nextRow, 5).Valeur = Producty.Range("Volum").Value * Producty.Range("Price").Value

    Le résultat, comme nous le voyons dans la syntaxe de l'enregistrement, sera affiché dans la cinquième colonne de la feuille Excel.

    Cette expression effectue une numérotation automatique des lignes :

    Si nextRow > 2 Alors
    Plage("A2").Sélectionnez
    Selection.AutoFill Destination:=Range("A2:A" & nextRow)
    Range("A2:A" & nextRow).Sélectionnez
    Fin si

    Toutes les valeurs "A2" signifient l'adresse de la première cellule où la numérotation sera faite, et les coordonnées " UN"- l'adresse de toute la colonne avec numérotation. Vérifiez où exactement la numérotation sera affichée dans votre tableau et modifiez ces coordonnées dans le code, si nécessaire.

    La ligne efface la plage du formulaire de saisie de données après que les informations qu'elle contient ont été transférées dans la table :

    Range("Diapason").ClearContents

    Ce n'est pas difficile à deviner Intervalle) signifie le nom de la plage que nous avons précédemment attribuée aux champs de saisie de données. Si vous leur avez donné un nom différent, c'est ce qui doit être inséré dans cette ligne.

    Le reste du code est universel et sera rendu inchangé dans tous les cas.

    Après avoir écrit le code de la macro dans la fenêtre de l'éditeur, vous devez cliquer sur l'icône d'enregistrement de la disquette sur le côté gauche de la fenêtre. Ensuite, vous pouvez la fermer en cliquant sur le bouton standard de fermeture de la fenêtre dans le coin supérieur droit.

  28. Après cela, nous revenons à la feuille Excel. Maintenant, nous devons placer un bouton qui activera la macro créée. Pour cela, rendez-vous dans l'onglet "Développeur". Dans le bloc paramètres "Les contrôles" cliquez sur le bouton du ruban "Insérer". Une liste d'outils s'ouvre. Dans le groupe d'outils "Contrôles de formulaire" choisissez le tout premier "Bouton".
  29. Ensuite, avec le bouton gauche de la souris enfoncé, nous encerclons la zone où nous voulons placer le bouton de lancement de la macro, qui transférera les données du formulaire vers le tableau.
  30. Une fois la zone encerclée, relâchez le bouton de la souris. Ensuite, la fenêtre d'affectation d'une macro à un objet se lance automatiquement. Si votre livre utilise plusieurs macros, sélectionnez le nom de celle que nous avons créée ci-dessus dans la liste. Nous l'appelons "Formulaire de saisie de données". Mais dans ce cas, il n'y a qu'une seule macro, il suffit donc de la sélectionner et de cliquer sur le bouton D'ACCORD au bas de la fenêtre.
  31. Vous pouvez ensuite renommer le bouton comme vous le souhaitez en mettant simplement en surbrillance son nom actuel.

    Dans notre cas, par exemple, il serait logique de lui donner un nom "Ajouter". Renommez et cliquez sur n'importe quelle cellule libre de la feuille.

  32. Donc, notre formulaire est complètement prêt. Vérifions comment cela fonctionne. Entrez les valeurs requises dans ses champs et cliquez sur le bouton "Ajouter".
  33. Comme vous pouvez le voir, les valeurs sont déplacées vers le tableau, la ligne se voit automatiquement attribuer un numéro, le montant est calculé, les champs du formulaire sont effacés.
  34. Remplissez à nouveau le formulaire et cliquez sur le bouton "Ajouter".
  35. Comme vous pouvez le voir, la deuxième ligne est également ajoutée au tableau tableau. Cela signifie que l'outil fonctionne.

Annotation: Le cours est consacré à la description du modèle d'objet MS Excel et Description détaillée méthodes, propriétés et événements de l'application.

13.1. Caractéristiques de la programmation pour MS Excel

Microsoft Office Excel sont des feuilles de calcul populaires. Habituellement, en programmant ce programme, ils poursuivent les objectifs suivants :

  • Automatisation des calculs.
  • Automatisation de la saisie et du traitement des informations.
  • Travailler avec des bases de données - sortie, entrée, analyse, visualisation d'informations.
  • Analyse des informations financières et autres.
  • Création de systèmes pour organiser la saisie automatisée des données
  • Modélisation mathématique.

En général programmation dans Excel est similaire à travailler avec Microsoft Word. Cependant, l'une des principales différences est que dans Excel, l'espace de travail de la feuille de calcul est divisé en cellules, chacune ayant son propre nom. Les noms de cellule peuvent être de deux types.

  • Le premier type (style A1) est le nom, composé d'un nom de colonne littéral et d'un numéro de ligne. Par exemple, A1 est la cellule située à l'intersection de la colonne A (la première) et de la première ligne.
  • L'autre type est les index de cellule (style de nommage R1C1 ). Pour adresser une cellule dans ce style, indiquez le numéro de ligne (R - Ligne - ligne) et le numéro de colonne (C - Colonne - colonne), à ​​l'intersection desquels se trouve la cellule. Les lignes sont initialement numérotées et les numéros de colonne commencent à 1 - la première colonne correspond à la colonne A, la seconde - B, et ainsi de suite. Par exemple, (2, 3) est l'adresse de la cellule située à l'intersection de la deuxième ligne et de la troisième colonne, c'est-à-dire que si nous passons au style A1, nous obtenons la cellule C2 (Fig. 13.1.)


Riz. 13.1.

Les objets suivants sont utilisés pour effectuer la plupart des opérations dans MS Excel.

  • Excel.Application (Application) - Objet représentant l'application Microsoft Excel, similaire à Word.Application .
  • Cahier(Classeur) - représente un classeur - analogue à un document Microsoft Word. Cependant, dans Word, nous travaillons avec des données situées dans un document, et dans Excel, il y a un autre objet sur le chemin des données - une feuille de calcul.
  • Feuille de travail(Feuille de calcul) - un classeur dans MS Excel est divisé en feuilles de calcul. C'est sur la feuille que se trouvent les cellules qui peuvent stocker des informations et des formules.
  • Plage (Plage) - peut être représentée comme une seule cellule ou un groupe de cellules. Cet objet remplace de nombreux objets pour travailler avec des éléments de document (character , word , etc.) qui sont utilisés dans Microsoft Word. En conséquence, travailler avec la feuille devient très clair et pratique - pour travailler avec n'importe quelle cellule, il vous suffit de connaître son nom (au format A1) ou son adresse (R1C1).
  • QueryTable (Query Table) - cet objet est utilisé pour importer des informations à partir de bases de données dans Microsoft Excel. Connexion à la base de données, demande d'information, etc. sont produits au moyen de l'objet et les résultats de la requête sont téléchargés sur la feuille MS Excel sous la forme d'un tableau normal.
  • PivotTable (PivotTable) est un type particulier de feuille de calcul Excel - il vous permet de résumer et d'analyser de manière interactive de grandes quantités d'informations, en particulier extraites d'une base de données.
  • graphique(Schéma) - représente un diagramme. Ils sont généralement utilisés pour la visualisation de données.

Commençons la révision Modèle d'objet MS Excel de l'objet Application.

13.2. Objet d'application

MsgBox Excel.Application.Name Liste 13.1. Afficher le nom de l'application

Lorsque le programme s'exécute, une boîte de message affiche le nom de l'application - dans ce cas, Microsoft Excel. Évidemment, la propriété Name de l'objet Application renvoie le nom de l'application.

Examinons maintenant les méthodes et propriétés les plus importantes de Application . Certains d'entre eux sont similaires à ceux de MS Word. Par exemple, la méthode Quit, tout comme dans Word, ferme l'application, la propriété Visible est responsable de la visibilité de la fenêtre du programme, etc.

13.3. Méthodes

13.3.1. Calculer - recalcul forcé

Appelée sur l'objet Application, cette méthode permet de recalculer toutes les ouvertures de livres. Il peut également être appelé pour des livres individuels (objet Cahier) des draps ( Feuille de travail), les cellules et leurs plages (Plage ). Par exemple, le code du Listing 13.2. vous permet de recalculer tous les classeurs ouverts.

Application.Calculer Liste 13.2. Recalculer tous les livres ouverts

13.3.2. GoTo - déplacer vers une cellule

13-02-Excel GoTo.xlsm - un exemple pour le paragraphe 13.3.2.

Vous permet de sélectionner n'importe quelle plage de cellules dans n'importe quel livre, et si le livre n'est pas actif, il sera activé. La méthode peut également exécuter des macros Microsoft Excel.

L'appel de méthode complet ressemble à ceci :

Aller à (référence, défilement)

Le paramètre Reference est une référence à une cellule ou à une plage de cellules qui doit être sélectionnée après l'appel de la méthode. Le nom de la macro peut également être utilisé ici - elle sera alors exécutée.

Le paramètre Scroll est responsable du "rembobinage" de la feuille Excel dans les cellules sélectionnées - de sorte que le coin supérieur gauche de la sélection coïncide avec le coin supérieur gauche de la zone de feuille affichée. Si Scroll est défini sur True, la feuille est rembobinée, s'il est False, ce n'est pas le cas.

Par exemple, un tel appel (Listing 13.3.) vous permet de sélectionner la cellule H500 sur la feuille active.

Application.Aller à _Reference :=ActiveSheet.Range("H500"), _Scroll :=True Liste 13.3. Sélectionnez la cellule H500

Comme vous pouvez le voir, l'accès à la feuille active est très similaire à l'accès au document actif dans MS Word. Notez que nous utilisons un appel de méthode complet - Application.GoTo - comme vous le savez, vous pouvez généralement utiliser les propriétés et les méthodes de l'objet Application dans votre code sans spécifier cet objet. Cependant, si vous ne spécifiez pas Application dans ce cas, alors au lieu de la méthode GoTo, le programme essaiera d'exécuter opérateur de saut inconditionnel Aller à .

13.3.3. SendKeys - simule les frappes sur le clavier

13-03-Excel SendKeys.xlsm - un exemple pour le paragraphe 13.3.3.

Une méthode très intéressante - vous permet d'envoyer des frappes à la fenêtre d'application active. L'appel de méthode complet ressemble à ceci :

SendKeys (clés, attente)

Le paramètre Keys permet de spécifier les clés qui seront transmises à l'application. La méthode prend en charge l'émulation à la fois alphanumérique et touches de contrôle, pour lequel un codage spécial est appliqué. Les touches alphanumériques sont spécifiées lors de l'appel sous leur forme habituelle. Par exemple, pour transférer le caractère "Ф", vous devez le spécifier lors de l'appel d'une méthode, etc.

Pour envoyer une frappe à une application retour arrière- utiliser le code (BS) . Pour envoyer un bouton, appuyez sur Entrer utilisez le ~ (

De nombreux utilisateurs d'Excel ne voient pas la différence entre "format de cellule" et "type de données". En fait, ce sont loin d'être des concepts identiques, même si, bien sûr, ils sont liés. Découvrons quelle est l'essence des types de données, dans quelles catégories ils sont divisés et comment vous pouvez les utiliser.

Le type de données est une caractéristique des informations stockées dans la feuille de calcul. Sur la base de cette caractéristique, le programme détermine comment traiter une valeur particulière.

Les types de données sont divisés en deux grands groupes : les constantes et les formules. La différence entre eux est que les formules génèrent une valeur dans une cellule, qui peut changer en fonction de la façon dont les arguments des autres cellules changent. Les constantes sont des valeurs constantes qui ne changent pas.

À leur tour, les constantes sont divisées en cinq groupes :

  • Texte;
  • Données numériques ;
  • Date et l'heure;
  • données booléennes ;
  • Valeurs erronées.

Découvrons plus en détail ce que chacun de ces types de données représente.

Valeurs de texte

Le type de texte contient des données textuelles et n'est pas considéré par Excel comme un objet de calculs mathématiques. Ces informations sont principalement destinées à l'utilisateur et non au programme. Le texte peut être n'importe quel caractère, y compris des chiffres, tant qu'il est formaté de manière appropriée. Dans DAX, ce type de données fait référence à des valeurs de chaîne. La longueur maximale du texte est de 268435456 caractères dans une cellule.

Pour saisir une expression symbolique, vous devez sélectionner la cellule du texte ou le format général dans lequel elle sera stockée et saisir le texte à partir du clavier. Si la longueur de l'expression textuelle dépasse les limites visuelles de la cellule, elle se superpose alors à celles voisines, bien qu'elle continue à être stockée physiquement dans la cellule d'origine.

Données numériques

Les données numériques sont utilisées pour les calculs directs. C'est avec eux qu'Excel entreprend diverses opérations mathématiques (addition, soustraction, multiplication, division, exponentiation, extraction de racine, etc.). Ce type de données est destiné exclusivement à l'écriture de nombres, mais il peut également contenir des caractères auxiliaires (%, $, etc.). Il peut être utilisé sous plusieurs formats :

  • En fait numérique;
  • Pourcentage;
  • Monétaire;
  • Financier;
  • Fractionnaire;
  • Exponentiel.

De plus, Excel a la capacité de diviser les nombres en chiffres et de déterminer le nombre de chiffres après la virgule décimale (en nombres fractionnaires).

Les données numériques sont saisies de la même manière que les valeurs textuelles, dont nous avons parlé ci-dessus.

date et l'heure

Un autre type de données est le format de l'heure et de la date. C'est exactement le cas lorsque les types de données et les formats correspondent. Il se caractérise par le fait qu'il peut être utilisé pour indiquer sur la feuille et effectuer des calculs avec des dates et des heures. Il est à noter que dans les calculs, ce type de données prend une journée comme unité. Et cela s'applique non seulement aux dates, mais aussi au temps. Par exemple, 12h30 est considéré par le programme comme 0,52083 jours, et alors seulement il est affiché dans une cellule sous la forme familière à l'utilisateur.

Il existe plusieurs types de formatage de l'heure :

  • h:mm:ss ;
  • hmm;
  • h:mm:ss AM/PM ;
  • h:mm AM/PM etc.

La situation est similaire avec les dates :

  • JJ.MM.AAAA ;
  • JJ.MMM
  • MMM.AA et autres.

Il existe également des formats de date et d'heure combinés, tels que JJ:MM:AAAA h:mm.

Vous devez également tenir compte du fait que le programme affiche comme dates uniquement les valeurs à partir du 01/01/1900.

Données booléennes

Le type de données booléen est très intéressant. Il fonctionne avec seulement deux valeurs : "VRAI" et "FAUX". Si nous exagérons, alors cela signifie "l'événement est venu" et "l'événement n'est pas venu". Les fonctions, traitant le contenu des cellules contenant des données logiques, effectuent certains calculs.

Valeurs erronées

Les valeurs d'erreur sont un type de données distinct. Dans la plupart des cas, ils apparaissent lorsqu'une opération incorrecte est effectuée. Par exemple, de telles opérations incorrectes incluent la division par zéro ou l'introduction d'une fonction sans respecter sa syntaxe. Parmi les valeurs erronées figurent les suivantes :

  • #ÉVALUER! – utilisation du mauvais type d'argument pour la fonction ;
  • #UNE ENTREPRISE! – division par 0 ;
  • #NUMÉRO! – données numériques incorrectes ;
  • #N/A – valeur non disponible saisie ;
  • #NOM? – nom erroné dans la formule ;
  • #VIDE! – saisie incorrecte des adresses de plage ;
  • #LIEN! - se produit lors de la suppression de cellules qui étaient précédemment référencées par la formule.

Formules

Les formules sont un grand groupe distinct de types de données. Contrairement aux constantes, elles ne sont le plus souvent pas visibles dans les cellules elles-mêmes, mais affichent uniquement le résultat, qui peut changer en fonction du changement des arguments. En particulier, des formules sont utilisées pour divers calculs mathématiques. La formule elle-même peut être vue dans la barre de formule en mettant en surbrillance la cellule dans laquelle elle est contenue.

Une condition préalable pour que le programme perçoive l'expression comme une formule est la présence d'un signe égal devant celle-ci (=) .

Les fonctions sont un type distinct de formules. Ce sont des sous-programmes particuliers qui contiennent un ensemble d'arguments et les traitent selon un certain algorithme. Les fonctions peuvent être saisies manuellement dans une cellule en y plaçant d'abord un signe «=» , mais vous pouvez utiliser un shell graphique spécial à cet effet Assistant de fonction, qui contient la liste complète des opérateurs disponibles dans le programme, divisés en catégories.

En utilisant Assistants de fonction vous pouvez sauter à la fenêtre d'argument d'un opérateur particulier. Dans ses champs, des données sont saisies ou des liens vers des cellules dans lesquelles ces données sont contenues. Après avoir appuyé sur le bouton D'ACCORD l'opération spécifiée est effectuée.

Comme on le voit, dans Programme Excel Il existe deux groupes principaux de types de données : les constantes et les formules. Ils sont à leur tour divisés en de nombreux autres types. Chaque type de données a ses propres propriétés, selon lesquelles le programme les traite. Maîtriser la capacité de reconnaître et de travailler correctement avec différents types de données est la tâche principale de tout utilisateur qui souhaite apprendre à utiliser Excel efficacement aux fins prévues.

Frizen Irina Grigorievna – Candidat en sciences pédagogiques, chargé de cours technologies de l'information, auteur de nombreux ouvrages dans le domaine des technologies de l'information.

Ce manuel a été rédigé conformément au programme national d'étude de la discipline pour les établissements d'enseignement secondaire spécialisé dans la spécialité 230103 "Systèmes automatisés pour le traitement et la gestion de l'information".

Programmation bureautique

Le manuel fournit suffisamment de matériel pour mener des cours pratiques dans la discipline, ainsi que le matériel théorique de base nécessaire à l'étude d'un problème particulier. Sur la base du matériel proposé, il est possible de construire le déroulement de différents types de cours.

Le manuel vise à aider les étudiants à étudier cette discipline dans son intégralité, en répondant aux exigences de la norme d'État pour la discipline.

Il est destiné aux enseignants et aux étudiants des établissements d'enseignement secondaire spécialisé, et peut également être utilisé par les étudiants des établissements d'enseignement supérieur étudiant cette discipline.

Le tutoriel couvre plus de 60 problèmes, accompagnés de 130 dessins et d'explications détaillées.

Livre:

Rubriques sur cette page :

Utilisation des objets Range et Selection

Dans Excel, le plus important est l'objet Application. L'objet Application est l'objet supérieur dans la hiérarchie d'objets Excel et représente l'application Excel elle-même. Il a plus de 120 propriétés et 40 méthodes. Ces propriétés et méthodes permettent de définir les préférences générales de l'application Excel. Dans la hiérarchie Excel, l'objet Workbook vient immédiatement après l'objet Application et représente le fichier de classeur. Le classeur est stocké dans des fichiers au format XLS (classeur standard) ou XLA (application entièrement compilée). Les propriétés et les méthodes du classeur vous permettent de travailler avec des fichiers. Cependant, le plus « utilisé » en pratique est l'objet Range, qui reflète le mieux les possibilités d'utilisation de VBA dans Excel (voir Tableau 19 pour les propriétés de l'objet Range, et Tableau 20 pour les méthodes).

Dans une hiérarchie d'objets Excel Intervalle(plage) vient immédiatement après l'objet feuille de travail. Un objet Intervalle est l'un des objets clés de VBA. L'objet de sélection (sélection) se produit dans VBA de deux manières : soit à la suite de la méthode Select, soit lorsque la propriété de sélection est appelée. Le type de l'objet résultant dépend du type de l'objet sélectionné. Le plus souvent, l'objet Selection appartient à la classe Range et, lorsque vous l'utilisez, vous pouvez utiliser les propriétés et les méthodes de l'objet Range. Une caractéristique intéressante des objets Range et Selection est qu'ils ne font partie d'aucune famille d'objets.

Lorsque vous travaillez avec l'objet Range, vous devez vous rappeler comment Excel fait référence à une cellule de feuille de calcul.

Spécification des groupes de lignes et de colonnes à l'aide de l'objet Range

Si seuls des noms de colonnes ou de lignes sont spécifiés dans la plage, l'objet Range spécifie la plage des colonnes ou des lignes spécifiées. Par exemple, Range("a:c") spécifie une plage composée des colonnes a, b et c, tandis que Range("2:2") spécifie la deuxième ligne. Une autre façon de travailler avec les lignes et les colonnes est les méthodes Rows (lignes) et colonnes (colonnes), qui renvoient des collections de lignes et de colonnes. Par exemple, la colonne a correspond à columns(1) et la ligne 2 à Rows(2).

Relation entre l'objet Range et la propriété Cells

Puisqu'une cellule est un cas particulier d'une plage, constituée d'une seule cellule, l'objet Range vous permet également de l'utiliser. L'objet Cells est une autre façon de travailler avec une cellule. Par exemple, la cellule A2 en tant qu'objet est décrite par Range("A2") ou Cells(l, 2). À son tour, l'objet cells, imbriqué dans Range, vous permet également d'écrire la plage sous une forme alternative, ce qui est parfois pratique pour le travail, à savoir Range("A2 : C3") et Range(Cells(1,2), Cells(3,3 )) définissent la même plage.

Tableau 19

Propriétés de l'objet Plage




Méthodes d'objet Range



Méthodes d'objet Range qui utilisent les commandes Excel

Les commandes et méthodes intégrées à Excel vous permettent de travailler efficacement avec une plage : remplissez-la d'éléments selon un modèle, triez, filtrez et consolidez les données, construisez un tableau récapitulatif et créez des scénarios, et résolvez une équation non linéaire avec un variable.

Méthode de remplissage automatique

La méthode AutoFill remplit automatiquement les cellules d'une plage avec des éléments de séquence. La méthode AutoFill diffère de la méthode DataSeries en ce qu'elle spécifie explicitement la plage dans laquelle la progression sera située. Manuellement, cette méthode revient à placer le pointeur de la souris sur la poignée de remplissage de la plage sélectionnée (dans laquelle sont entrées les valeurs qui génèrent la séquence générée) et à faire glisser la poignée de remplissage le long de la plage dans laquelle la séquence à créer sera être situé.

Syntaxe:

un objet. Remplissage automatique (plage, type)

Arguments:

Plage Plage à partir de laquelle le remplissage commence type Valeurs valides : xlFillDefault, xlFillSeries, xlFillCopy, xlFillFormats, xlFillValues, xlFillDays, xlFillWeekdays, xlFillMonths, xlFillYears, xlLinearTrend, xlGrowthTrend. xlRemplissageDéfaut

Méthode de filtre automatique

La méthode AutoFilter est un moyen simple d'interroger et de filtrer des données dans une feuille de calcul. Si le filtre automatique est activé, chaque en-tête de champ de la plage de données sélectionnée se transforme en une zone de liste déroulante. La sélection d'une requête pour afficher des données dans un champ avec une liste déroulante affiche uniquement les enregistrements qui remplissent les conditions spécifiées. La zone de liste déroulante contient les types de conditions suivants : Tous (Tous), Top dix (Top 10), Condition (Personnalisé), élément de données spécifique, Blancs (Vides) et Non vides (Non vides). Manuellement, la méthode est lancée en sélectionnant la commande Data, Filter, Autofilter (Data, Filter, AutoFilter).

Deux syntaxes sont valides lors de l'utilisation de la méthode AutoFilter.

Syntaxe 1 :

Un objet. Filtre automatique

Dans ce cas, la méthode AutoFilter sélectionne ou annule la commande Data, Filter, AutoFilter appliquée à la plage spécifiée dans l'argument de l'objet.

Syntaxe 2 :

Un objet. Filtre automatique(champ, critère1, opérateur, critère2)

Dans ce cas, la méthode AutoFilter exécute la commande Data, Filter, AutoFilter selon les critères spécifiés dans l'argument.

Arguments:

champ Un entier spécifiant le champ sur lequel filtrer les données

Critères1 Spécifiez deux conditions de filtre et champs critères2 possibles. Vous pouvez utiliser une constante de chaîne, telle que 101, et les signes de relation >,<,>=, <=, =, <>

opérateur Valeurs valides : X1And (union logique du premier et du second critère) ; X1or (addition logique du premier et du second critère)

Lorsque vous travaillez avec des filtres, la méthode showAllData et les propriétés FilterMode et AutoFilterMode sont utiles.

Méthode ShowAllData Affiche toutes les lignes de feuille de calcul filtrées et non filtrées

Propriété FilterMode Valeurs valides : True (si la feuille de calcul contient des données filtrées avec des lignes masquées), False (sinon)

Propriété AutoFilterMode Valeurs valides : True (si la feuille de calcul affiche les listes déroulantes de la méthode AutoFilter), False (sinon)

Méthode GoalSeek

La méthode GoalSeek (sélection d'un paramètre) sélectionne la valeur d'un paramètre (une valeur inconnue) solution d'une équation à une variable. On suppose que l'équation est réduite à la forme : le côté droit est constant, indépendant du paramètre, qui n'est inclus que dans le côté gauche de l'équation. Manuellement, la méthode GoalSeek est effectuée à l'aide de la commande Service, Sélection des paramètres (Outils, Goal Seek). La méthode GoalSeek calcule la racine par la méthode des approximations successives dont le résultat dépend généralement de l'approximation initiale. Par conséquent, pour l'exactitude de la recherche de la racine, il faut veiller à l'indication correcte de cette approximation initiale.

Syntaxe:

Un objet. Recherche d'objectif (objectif, changement de cellule)

Arguments:

Un objet Une cellule dans laquelle une formule est entrée qui est le côté droit de l'équation en cours de résolution. Dans cette formule, le rôle du paramètre (valeur inconnue) est joué par une référence à la cellule spécifiée dans l'argument ChangingCell

Objectif La valeur du côté gauche de l'équation en cours de résolution qui ne contient pas de paramètre

La précision avec laquelle la racine est trouvée et le nombre maximal autorisé d'itérations utilisées pour trouver la racine sont définis par les propriétés Maxchange et Maxiterations de l'objet Application. Par exemple, la détermination de la racine avec une précision de 0,0001 pour un maximum de 1000 itérations est fixée par l'instruction :

Avec demande

maxitérations = 1000

MaxChange = 0,0001

Ces valeurs sont définies manuellement dans l'onglet Calcul de la boîte de dialogue Options appelée par la commande Outils, Options.

Méthode de tri

Le tri permet de classer les données par ordre lexicographique dans l'ordre croissant ou décroissant. La méthode de tri trie les lignes de la liste et de la base de données et les colonnes de la feuille de calcul en fonction de trois critères de tri au maximum. Le tri manuel des données s'effectue à l'aide de la commande Données, Trier.

Syntaxe:

Un objet. Trier (key1, order1, key2, order2, key3, order3, header, orderCustom, matchCase, orientaticn)

Arguments:

Un objet La plage à trier

Commande1

commande2 Spécifie l'ordre de commande. Valeurs valides : xlAscending (ordre croissant) ; xlDécroissant (ordre décroissant)

entête Les valeurs valides sont : xlOui (la première ligne de la plage contient un en-tête qui n'est pas trié) ; xlNo (la première ligne de la plage ne contient pas d'entête, cette valeur est considérée par défaut) ; xlGuess (Excel décide s'il y a un titre)

commanderPersonnalisé Ordre de tri personnalisé. La valeur par défaut est normale

cas de correspondance Valeurs valides : True (sensible à la casse) et False (insensible à la casse)

orientation Valeurs valides : xlTopToBottom (le tri se fait de haut en bas, c'est-à-dire par lignes) ; xlLeftToRight (de gauche à droite, c'est-à-dire par colonnes)

Par exemple, la plage A1:C20 de la feuille de calcul feuille1 est triée par la commande suivante dans l'ordre croissant, de sorte que le tri initial se trouve sur la première colonne de cette plage et le tri secondaire sur la seconde :

Feuilles de calcul("Feuille").Plage("A1 : C20").Trier _

key1 :=Feuilles de travail("Feuille1").Range("A1"), _

key2 :=Feuilles de travail("Feuille1").Range("B1")

Arrondir les nombres

Vous devez souvent arrondir les nombres décimaux, en particulier lorsque vous travaillez avec des valeurs monétaires. VBA n'offre pas de solution directe à ces problèmes, mais les techniques décrites ci-dessous vous aideront à résoudre ces problèmes.

1 voie

Fonction ronde

X=rond(2.505, 2)

La valeur x sera de 2,5 et non de 2,51.

Par conséquent, il n'est pas souvent utilisé.

2 voies

Fonction de mise en forme

sngRounding=Format(SngUnrounded, "#, 0.00")

3 voies

Fonction FormatNumberFormatNumber function

SngRounding= FormatNumber(sbgUnrounded, 2)

Pour modifier les décimales, modifiez le nombre de zéros après la virgule décimale dans l'argument Format ou modifiez le nombre qui spécifie la valeur du deuxième argument en ce que vous voulez.

Noter. La variable dans laquelle la valeur arrondie est placée doit être de type chaîne, simple, double, décimal, monétaire ou variant, et non entier ou long.

Réduction de donnée

Pour convertir les données saisies au type souhaité, VBA comprend un ensemble complet de fonctions, dont l'une est CDBL. Syntaxe:

CDbl(expression)

Argument requis expression est une chaîne ou une expression numérique. Pour lire les informations saisies dans le champ texte du formulaire généré, saisissez une variable et écrivez une expression :

A = Cdbl(textBoxN.text)

Après cela, vous pouvez travailler avec cette variable.

Pour afficher des valeurs directement dans les cellules d'un classeur Excel, il est pratique d'utiliser l'objet Range :

range("A5").value = a

La fonction opposée à CDbl est la fonction CStr - elle convertit les nombres en chaînes et est pratique pour afficher le résultat soit dans une cellule d'une feuille, soit dans une zone de texte particulière.

TextBoxN.text = CStr(.Range("A8").value)

- lire la valeur de la cellule et l'afficher dans la zone de texte.

La fonction Trim(string) renvoie une copie de la chaîne avec les espaces au début et à la fin de la chaîne supprimés.

Création de programmes VBA

Utilisation de la méthode GoalSeek

Exemple 41. Développez un programme qui, en utilisant les valeurs numériques entrées d'une équation, résout cette équation et trouve la variable inconnue x. Le résultat du calcul est affiché dans une zone de texte sur le formulaire et sur une feuille Excel.


Riz. 92. La forme développée de l'exemple 41 en état de marche

Technologie d'exécution

1. Lancez l'application Excel, enregistrez le document.

2. Basculez vers l'éditeur VBA.

3. Créez un formulaire comme indiqué dans la fig. 92.

4. Placez le texte requis (formatage) sur la feuille Excel, en fournissant les cellules de sortie d'informations appropriées (Fig. 93).


Riz. 93. Sortie des résultats sur une feuille Excel après avoir exécuté l'exemple de formulaire 41

5. Traitez les boutons.

Bouton Calculer

Sous-commande privée CommandButton1_Click()

Dim a, b, c As Double

a = CDbl(TextBox1.Text)

b = cbl(TextBox2.Text)

c = CDbl(TextBox3.Text)

Avec ActiveSheet

Plage("b3").Valeur = a

Plage("b4").Valeur = b

Plage("b5").Valeur = c

Range("b6").FormulaLocal = "=b3*b7^3+b4*sin(b7)"

Range("b6").GoalSeek Goal :=c, ChangingCell :=Range("b7")

TextBox4.Text = CStr(.Range("b7").Valeur)

TextBox4.Text = FormatNumber(TextBox4.Text, 2)

Bouton Fermer

Sous-commande privée CommandButton2_Click()

Procédure d'initialisation du formulaire

Private Sub UserForm_initialize ()

Feuilles de calcul(1).Visible = False

Utilisation des méthodes de remplissage automatique lors du remplissage des tableaux

Exemple 42 . Créez un programme qui, en fonction des données textuelles saisies dans les champs de texte appropriés du formulaire, automatise la saisie de données pour les étudiants d'une certaine spécialité d'un établissement d'enseignement. Les résultats du remplissage des champs de texte sont affichés sur une feuille excel, ce qui permet d'imprimer les données si nécessaire.

mob_info