VBA

Extraire les cellules contenant un mot spécifique

Posted in Utilitaires, VBA, Vidéos on October 8th, 2010 by site admin – 1 Comment

Bonjour à tous,

Suite à la question de Danielle, voici une adaptation de la macro créée ici pour rapatrier les cellules contenant un mot dans une seule feuille.

Pré-requis : ce post
Objectif : rapatrier toutes les cellules contenant une chaîne de texte
Fichier final : ici

Vous pouvez trouver ici une présentation vidéo des fonctionnalités de ce fichier, puis en dessous une description détaillée du code utilisé. (note : Pour ne pas voir la barre de contrôle de la vidéo, positionnez votre curseur en dehors de la vidéo)

Et voici la description détaillée du code :

N’hésitez pas à laisser vos commentaires si besoin.

A bientôt.

Gaëtan

VBA pour 2003 et 2007 – Le cauchemar des graphiques

Posted in Excel 2007, Excel 2010, Graphiques, VBA on February 8th, 2010 by site admin – Be the first to comment

Je suis en train de développer une application (vous en aurez des nouvelles bientôt) et celle-ci doit fonctionner à la fois pour 2003 et 2007 (et 2010, etc).
Le plus difficile est sans doute la gestion des graphiques, qui est pratiquement complètement différente d’une version à l’autre.

Quelques règles générales à connaître :
– Enregistrer le fichier en .xls (2000-2003), pas en xlsx
– On peut aussi utiliser la procédure suivante:

If Val(Application.Version) < 12 Then

else

end if

qui va donc permettre de tester la version d’Excel et de changer éventuellement le code.

Cependant, cette approche a des limites, car le débogueur peut identifier un bug avant même que le test ne soit complété (par ex., une propriété ou une méthode qui n’existe qu’en 2007 et pas en 2003).

- La solution consiste donc à séparer le code pour 2003 et pour 2007 dans deux modules différents…

Un peu complexe, mais beaucoup moins que de devoir maintenir deux fichiers en même temps.

A bientôt.

Gaetan
PS : exemple de problème de ce type avec :
ActiveChart.SetElement

Formation poussée au VBA

Posted in D'autres sites, VBA, Vidéos on January 13th, 2010 by site admin – 7 Comments

Bonjour à tous,

Avec un collègue et ami, nous pensons très prochainement lancer un nouveau produit de formation vous permettant d’accèder à du code VBA poussé, voire très poussé… Mais expliqué le plus simplement possible à l’aide de vidéos de formation.

Vous pouvez avoir deux exemples de ce nouveau produit :
Procédure événementielle déclenchée automatiquement par l’activation d’une feuille ou encore
Actualiser les formules d’une table de données.

Ce produit s’adresse aux personnes ayant déjà étudié mon CD de formation sur VBA ou ayant déjà une bonne connaissance du VBA.

Ce type de produit demandant beaucoup de travail, nous pensons à une formule d’abonnement mensuel ou à l’achat d’un sujet au cas par cas. Qu’en pensez-vous ? Est ce qu’un tel cours vous semble accessible ? Utile ? Avez-vous des idées de sujets que vous aimeriez voir traiter?

A bientôt.

Gaëtan Mourmant et Dominique Handelsman.

Top 10 de mes fonctionnalités préférées, les connaissez-vous ?

Posted in D'autres sites, Dates et heures, Divers, Excel 2007, Excel 2010, Formatage, Formules et fonctions, Général, Graphiques, Hors-sujets, Raccourcis clavier, Tableaux croisés dynamiques, Utilitaires, VBA on October 30th, 2009 by site admin – 5 Comments

Un post récapitulatif pour mes 10 fonctionnalités préférées sur Excel !

On va la faire à la MTV, en commençant par la fin !

10 – Les connecteurs pour dessiner efficacement et proprement
- Utilisation des connecteurs pour créer rapidement des dessins sur Excel :
2000 à 2003 : Affichage de la barre d’outils Dessin, puis :
connecteurs
2007 : dans l’onglet Insertion, sous “formes”. A noter que l’outil est beaucoup plus facile à utiliser sur 2003 que sous 2007 !
top-10-Excel-2

9-Copier une plage comme une image
Très utile pour copier des tableaux ou des graphiques comme des images (par exemple pour les coller ensuite dans powerpoint), voici la procédure :
2000-2003 : touche MAJ appuyée, puis Edition et choisir Copier une image…
2007 : Onglet Accueil, puis coller, en tant qu’image… et choisir copier comme image (au niveau de la logique MS, ca ressemble au bouton démarrer pour arrêter windows XP ;-) )
A-top-10-Excel-4

8-Ajuster les pages pour l’impression
Bien que relativement bien connu, cette astuce est néanmoins incontournable dès lors que l’on veut imprimer des tableaux. On peut ainsi laisser vide le nombre de pages en hauteur pour n’avoir qu’un ajustement sur la largeur !
top-10-Excel-3

7a-Créer très rapidement une série de noms
A partir des noms de lignes ou de colonnes d’un tableau, on peut ainsi très rapidement créer une série de noms.
2000-2003 : Menu Insertion, Noms, Créer…
A-top-10-Excel-5
2007 : Onglet Formules (et non plus insertion comme sous 2003), Créer à partir de la sélection:
A-top-10-Excel-6

7b-Toujours dans les noms, coller une liste avec leurs adresses
Pour utiliser cette fonctionnalité, il faut bien sur que des noms aient été créés!
2000-2003 : facile d’accès : Insertion, nom, coller une liste
A-top-10-Excel-7
2007 : c’est très bien caché, car le nom de la fonctionnalité a été changé :
A-top-10-Excel-8

6-validation et zone nommée
C’est une astuce que j’utilise fréquemment pour faire référence à une liste se trouvant dans une autre feuille :
1- Nommer la liste (2000-2003: insertion, noms, définir / 2007: onglet formules, gestionnaire de noms)
2- Dans données validation, choisir liste et faire référence au nom:
A-top-10-Excel-9

5- Quelques fonctions favorites
Evidemment, on ne peut éviter sommeprod, qui peut compléter adéquatement somme.si, lorsqu’on doit gérer plusieurs critères. Dans Excel 2007, il faut aussi regarder somme.si.ens qui fonctionne sur le même principe.
J’adore aussi Decaler,notamment en lien avec des noms dynamiques (voir plus bas).
Finalement, les fonctions index et equiv et leurs combinaisons (à la place de recherchev).

4-Les tableaux croisés dynamiques
Si vous ne les connaissez pas et que vous utilisez des listes de données (une table dont la première ligne contient les en-tête pour chaque colonne), c’est un outil incontournable pour l’analyse. je n’ai pas le temps de développer ici (ca prendrait un cd complet !), mais voici l’instruction de base :
2000-2003 : Données – Rapport de tableaux croisés dynamiques
2007 : Insertion – Rapport de tableaux croisés dynamiques
On fait ensuite glisser les champs aux emplacements désirés (en champs de lignes, de colonnes, de données ou encore de pages pour filtrer les données).

3- Les noms dynamiques
Il s’agit de créer des noms avec la fonction DECALER qui permettent de s’ajuster aux données. Par exemple, créer un nom pour faire référence à la table contenant les données alimentant un tableau croisés dynamique.
On peut aussi utiliser des noms dynamiques pour des images ou encore pour des listes.
Pour un cours complet sur ces utilisations : cliquez ici

2- 2007 seulement – la punaise sur le nom du fichier
Uniquement sur 2007, en cliquant à droite du nom du fichier à partir du bouton office, on garde en permanence les fichiers qu’on utilise le plus.
Sous 2003, on peut aussi créer des raccourcis vers les fichiers les plus utilisés (dans l’explorateur windows), mais c’est moins rapide et intuitif.

1-Les raccourcis-clavier incontournables
Certainement l’astuce permettant de gagner le plus de temps, le raccourci-clavier:
ALT : en dessinant, qui permet de caler l’image sur les bords de la cellule
F4 : répéter la dernière action
F4 : dans une formule, ajouter/supprimer des $
F3 : dans une formule (ou ailleurs), insérer un nom. Aussi utile dans validation ou mise en forme conditionnelle
CTRL + G, U, I : respectivement Gras, Souligné (Underlined) et Italique
ALT + F11 : afficher VBE
CTRL + Entrée : en éditant une formule, ca permet de recopier sur toute la plage sélectionnée
CTRL + ; : : insérer la date et l’heure
Encore plus sur ce sujet : ici

Et voilà, bravo si vous avez tout lu !
Si vous avez votre propre liste (de 5 ou 10) ou que vous voulez compléter celle-ci, n’hésitez pas !

A bientôt.

Gaetan

Gérer des images dans un userform en VBA

Posted in VBA, Vidéos on October 13th, 2009 by site admin – 2 Comments

Et une autre vidéo qui explique comment ajouter une image dans un userform et ensuite comment la modifier par du code VBA.

Ca se passe ici :
http://www.polykromy.com/vba-2007/1_charge_image_fr.html

Pour les utilisateurs d’excel 2003, vous accédez au VBE par ALT+F11, ou encore Outils – Macros.
La sécurité des macros se gère au même endroit.

Bon amusement

Gaëtan Mourmant

Excel 2007 et le VBA

Posted in Excel 2007, VBA, Vidéos on October 13th, 2009 by site admin – 1 Comment

Tout d’abord pour ceux qui passent à Excel 2007 et veulent continuer à utiliser le VBA, voici 4 mn de vidéos qui pourront vous faire gagner 1 heure de recherche et potentiellement beaucoup beaucoup plus (si vous sauvegardez votre fichier sous le mauvais format, et perdez tout votre code VBA, par exemple).
Au programme :
– afficher le menu développeur
– modifier rapidement les paramètres de sécurité
– Ne jamais sauvegarder en format *.xlsx
La vidéo est ici (n’hésitez pas à agrandir votre navigateur, en général, la touche F11) :
http://www.polykromy.com/vba-2007/1_param_vba_2007_fr.html

Cordialement

Gaëtan