• VBA Excel – Comment remplacer des formules par leur résultat

    PasteSpecialValue

    Nous sommes régulièrement amenés à remplacer une plage de cellules contenant des formules par leur résultat. Autrement dit un Copier/Collage spécial – Valeur. En VBA, après avoir éventuellement utiliser l’enregistreur de macros pour nous aider, nous aurions tendance à utiliser ce code. Exemple pour la page A1:H100 de la feuille nommée Feuil1

    L’astuce consiste à utiliser la propriété Value de l’objet Range

      Philippe Tulliez

    [Lire plus...]
  • Excel – Comment déplacer rapidement des colonnes dans une liste de données

    Couper_Coller une colonne

    Pour déplacer rapidement une ou plusieurs colonnes dans une feuille excel, il existe à ma connaissance deux techniques rapides. Dans les deux cas, il faut bien entendu sélectionner la ou les colonnes à déplacer. La première des solutions consiste à se positionner sur l’un des côtés de la sélection (une croix avec des flèches va apparaître) et ensuite appuyer simultanément sur le bouton gauche de la souris et la touche Shift / Maj (Attention pas ShiftLock), une ligne verticale va apparaître et ensuite glisser et se positionner entre les deux colonnes où l’on souhaite déposer les données et lâcher le

    [Lire plus...]
  • Comment incrémenter le nom d’une feuille Excel, lorsqu’il existe déjà ?

    WorkbookWithIncrementSheets

    Créer une feuille et la renommer Lorsque l’on crée dynamiquement une feuille dans un classeur Excel à l’aide de l’instruction

    et que l’on souhaite lui attribuer un nom particulier, par exemple le texte CA suivi de l’année et du numéro du mois en cours

    il est possible que ce nom existe déjà et dans ce cas une erreur sera générée Nous pourrions intercepter l’erreur en l’ignorant, comme l’illustre le code ci-dessous

    Ce qui aura pour effet d’éviter l’affichage du message d’erreur mais qui nous laissera la feuille récemment créée avec son nom incrémenté comme par exemple Feuil7

    [Lire plus...]
  • Comment mettre en couleur des mots se trouvant dans une plage de cellules ?

    Mettez en évidence des mots contenus dans une plage de cellules. Lorsque l’on sélectionne une ou plusieurs cellules, il est possible de mettre la police de la valeur contenue dans ces cellules dans une couleur choisie; Il est possible également de mettre dans une certaine couleur un ou plusieurs mots contenu dans cette cellule. Pour cela, il suffit de sélectionner le mot et choisir sa police. Ce que je vous propose dans ce billet, c’est de le faire à l’aide d’une procédure VBA. Le code de la procédure

    Exemple d’une procédure d’appel

    Liens Je vous conseille la lecture

    [Lire plus...]
  • Comment connaître la date du lundi d’une semaine avec excel ?

    08-01-2016 15-21-57

    En ce début d’année, on pense souvent à créer un calendrier, un agenda, etc. Voici une astuce pour connaître la date du lundi pour une année et semaine donnée. Formule avec Excel (en cellule A2, l’année et en B2 le numéro de la semaine)

    Cette formule renverra la date du lundi de la semaine définie en cellule B2, de l’année définie en A2. Si l’on souhaite, obtenir le mardi de la semaine, il faut remplacer la constante 5 par 4 et ainsi de suite.     Philippe Tulliez

    [Lire plus...]
  • VBA Excel – Fonction qui renvoie une liste de données résultant d’une requête SQL dans Access

    Introduction Je vous propose une petite procédure qui importe le résultat d’une requête faite sur une base de données Access dans une feuille Excel. Cette requête est exécutée par une fonction nommée QueryAccess qui renvoie une table contenant le résultat d’une requête faite sur une base de données Access. Les arguments utilisés dans la fonction dbFullName de type String, contient le chemin complet + le nom de la base de données. SqlQuery de type String, contient la requête SQL. [WithLabel] de type booléen, argument facultatif, True ou omis renvoie les étiquettes de colonnes Le code de la procédure

     

    [Lire plus...]
  • Excel VBA – Exporter des lignes suivant critères avec la méthode AdvancedFilter

    AdvancedFilter - feuille Data et Param

    Avant-Propos Lorsque l’on doit exporter des données suivant des critères, la solution la plus simple à mettre en place et la plus rapide au niveau exécution est l’utilisation des filtres avancés d’excel soit en VBA la méthode AdvancedFilter de l’objet Range. Scénario : Nous souhaitons exporter les données se trouvant en cellules A1:F261 de la feuille nommée [db] vers la feuille nommée [Export] avec les critères se trouvant en cellules A1:B3 de la feuille nommée [Param] Si vous ne connaissez pas les filtres avancés d’excel, je vous invite à lire ce didacticiel  Les filtres avancés ou élaborés dans Excel Code

    [Lire plus...]
  • Excel VBA – Supprimer des lignes suivant critères avec la méthode AdvancedFilter

    DeleteRow Photo à la une

    Je vous propose cette semaine, une fonction qui vous permettra de supprimer les lignes d’une liste de données suivant les critères que vous aurez choisi comme par exemple toutes les personnes Célibataires, gagnant plus de 2.500€. Cette fonction est basée sur la méthode AdvancedFilter. La méthode AdvancedFilter d’un objet Range permet d’effectuer énormément d’opération en VBA et ce avec un minimum de lignes de code. Cette méthode est issue de la fonctionnalité des filtres avancés d’excel qui permettent une multitude d’opérations telles que l’exportation de données suivant des critères, l’extraction sans doublons, etc. SI vous ne connaissez pas les filtres

    [Lire plus...]
  • Tester une chaîne de caractères en toute sécurité

    Tester une chaîne de caractères PageUne

    Qui n’a pas été confronté à des heures de recherches parce-qu’un test sur une chaîne de caractères n’a pas produit le résultat escompté. Scénario Nous avons une liste de données comme l’illustre l’image ci-dessous et vous devez retrouver tous les travaux avec comme statut “Pending” pour les placer en “Invoice“. La liste de données La formule Ces lignes de code qui suivent se trouvent dans une boucle où la variable Row est le numéro de la ligne testée.

    Le test logique pourrait être également exprimé comme ci-dessous.

    Le constat Nous pouvons voir que certaines cellules ne sont pas

    [Lire plus...]
  • A l’aide de VBA, comment écrire une formule plus complexe dans une cellule ?

    Formule plus complexe

    Cet article est la suite du billet Comment écrire une formule dans une plage de cellules en VBA ? Nous allons apprendre comment écrire des formules plus complexes. Pour tous les plages de données évoquées plus bas la cellule de départ est la cellule A1 et la première ligne contient les étiquettes de colonnes. Comment écrire une formule plus complexe dans une cellule ? Prenons la formule NB.SI dont la syntaxe est NB.SI(Plage;Critère) et qui a pour but de compter le nombre de cellules répondant au critère. Pour illustrer notre exemple, imaginons une plage de données A1:F31 dont les cellules

    [Lire plus...]