Astuces pour Excel & VBA

.:: Travail sur Excel ::.

Quelques astuces et rappels sur le travail avec Excel et quelques macros en VBA

Formules et fonctions
Utilisation Fonction Résultat Remarques
Les caractères      
Assembler des mots =CONCATENER(A1;A2;"T") Caractères C'est plutôt bien
Prendre des lettres =GAUCHE(A1;3) Caractères Les 3 premières lettres de A1 dans ce cas
Prendre des lettres =DROITE(A1;2) Caractères Les 2 dernières lettres de A1
Chercher =CHERCHE("os";A1) Nombre Donne la position où ce trouve les lettres cherchées
Les nombres      
Addition =SOMME(A1;A2) Nombre Somme des valeurs de A1 et A2
Moyenne =MOYENNE(A1;A2;A3) Nombre Donne la moyenne du contenu des cellules

Fonctions personnelles

SANSACCENT()

Permet de supprimer les accents dans un texte d'une cellule
A placer le code ci-dessous dans l'éditeur de macro

Appel de la fontion avec "=SANSACCENT(A1)"

Function SANSACCENT(texte)
'Auteur      : Jean-Pierre Perroud
'Edition     : 02.04.2007         
'Correction  : 12.06.2009

    'Définition des variables
    avec = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç_"
    sans = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc "
    tmp  = texte

    'Boucle de traitement
    For i = 1 To Len(tmp)
        pot = InStr(avec, Mid(tmp, i, 1))
        If pot > 0 Then Mid(tmp, i, 1) = Mid(sans, pot, 1)
    Next i
    
    If tmp = 0 Then tmp = ""  'Ne laisse pas un zéro si champ vide
    SANSACCENT = tmp          'Retour du traitement

End Function

Cette fonction peut-être adaptée pour les langues concernées, afin de limiter les itérations en simplifiant la liste des caractères.

Si vous utilise ces fonctions, merci de laisser les commentaires de la provenance ! Ne pas oublier de consulter le compagnon !


Quelques astuces sur la feuille
Cacher contenu cellule Mettre ;;; dans le "format" cellule "personnalisé"
Nommer une celluleSélectionner la cellule, puis aller an haut à gauche dans la fenêtre "Zone nom", introduire un nom et presser sur "Enter" pour valider
Nommer une plageMême opération après avoir sélectionné une zone complète
Retrouver une cellule nomméeAller en haut à gauche dans la "Zone nom", activer le menu déroulant et cliquer sur le nom choisi.
Déplacer une cellule ou une zone complèteSélectionner la cellule ou la zone et pointer sur le bas de celle-ci avec la souris et déplacer.
Conversion d'une valeur
en binaire
decbin(A1)
Conversion d'une valeur
en octal
decoct(A1)
Conversion d'une valeur
en hexadecimal
dechex(A1)
Conversion d'une valeur
en chiffres romain
romain(A1)

Avec la touche Ctrl
Ctrl NOuvrir une nouvelle feuille
Ctrl OOuvrir une feuille (fichier)
Ctrl SEnregistrer la feuille courante (fichier)
Ctrl PImprimer la feuille courante ou la sélection
Ctrl ZAnnuler la dernière opération
Ctrl XCouper la sélection
Ctrl CCopier la sélection
Ctrl VColler la partie coupée ou copiée
Ctrl FChercher
Ctrl HRemplacer
Ctrl TAtteindre
Ctrl KPlacer un lien hypertexte
Ctrl 1Format de la cellule
Ctrl F3Définir un nom de cellule


Avec la touche MAJ (shift)
MAJ F2Insère un commentaire dans la cellule courante
MAJ F3Appel une boîte de dialogue "Insérer une fonction"
MAJ F4Répète la dernière commande ou action
MAJ F5Appel la boîte de dialogue "Atteindre"
MAJ F7Appel la recherche dans le dictionnaire des synonymes

Avec les touches de fonction>
F1 Ouvrir l'aide
F2 Passer en mode modifier
F3 Coller un nom de la liste
F4 Passage en mode adressage absolu ou relatif
F5 Atteindre une cellule ou un texte
F7Orthographe
F9Calculer maintenant


.:: Macros & VBA ::.

Quelques lignes de code pour vos macros sous Excel. Vous pouvez facilement les recopier dans vos macros avec les fameux "copier coller" que vous connaissez :-)
Ne pas oublier de faire des recherches sur le Net, on y trouve une quantité impressionnante de trucs.

.:: Les classeurs ::.


Ouverture d'un nouveau classeur

Workbooks.Add 

Fermeture d'un classeur

Workbooks("monclasseur.xls").Close 

Fermeture des classeurs ouverts (sauf celui qui est actif)

Sub FermeClasseurs() 
	For Each Wk In Workbooks 
		If Wk.Name <> ThisWorkbook.Name Then 
			Wk.Close savechanges:=True 
		End If 
	Next Wk 
End Sub	

.:: Les feuilles ::.

Ajout d'un feuille dans le classeur courant

ActiveWorkbook.Worksheets.Add

	ou

Sheets.Add


Changer de nom de l'onglet de la feuille courante

ActiveSheet.Name = "NouveauNom" 

Activer une feuille du classeur par son nom d'onglet

Worksheets("feuille1").Activate


[Home Page][Programmation]

Jean-Pierre Perroud
Switzerland
Dernière mise à jour le 12 août 2009