Skip to content
Excel - Power Query - Power Pivot - VBA
  • Pages
    • Excel - Power Query - Power Pivot - VBA
    • Raccourcis clavier
    • Généralités
      • Quel stage Excel choisir ?
        • Parcours de formation Excel
        • Une démarche BI avec Excel ?
        • Excel, VBA ou Power Pivot / Query / BI ?
      • Installation des outils
    • Manipulations de bases
      • Gestion des feuilles
      • Formater les cellules
      • Lignes et colonnes
      • Trier et filtrer
    • Temps 1 | Organiser ses données en tableau
      • Concevoir un tableau
      • Tableau dans Excel
    • Temps 2 | Saisir et importer
      • Valider ses données
      • Protéger les données
      • Mise en forme conditionnelle
      • Types de données (tables recommandées)
    • Temps 3 | Calculer
      • Calculs
      • Fonctions de texte
      • Fonctions de date
      • Fonctions logiques
      • Fonctions de synthèse
      • Fonction de recherche
      • Fonctions d'information
      • Formules matricielles ou Tableaux dynamiques [365]
      • Nouvelles fonctions [365]
    • Temps 4 | Présenter et synthétiser
      • Mise en forme avec les styles
      • Mise en page et impression
      • Tableaux croisées dynamiques
        • TCD multi tables
      • Graphiques croisés dynamiques
    • A à Z : créer un classeur d'analyse [Exemple 002]
    • Power Query
    • Power Pivot
      • Présentation
      • Mise en pratique
      • Exercice 01
    • VBA
      • Visual Basic
        • Visual Basic Editor
        • Variables
        • Décisions
        • Boucles
        • Fonctions
          • Quelques fonctions intrinsèques
        • Organisation du code
        • Procédures
      • VB Excel
        • Objets Excel
        • Classeurs
        • Feuilles
        • icon picker
          Plages et cellules
        • Tableaux
        • Fonctionnalités d'Excel
        • SQL & VBA
        • Boucle des fichiers d'un dossier
        • Manipuler d'autres logiciels depuis Excel
      • Créer une application Excel
      • API REST avec JSON
      • Exercice Signalements
    • Exercices
      • Excel 1 |
    • Office Script
    • Office Scripts pour Excel : Comparaison avec VBA
    • Échanges stagiaires

Plages et cellules

1 | Déclaration d'une plage/cellule

Dim plageZone As Range
Dans ce document, la feuille dans laquelle se trouvera la plage sera désignée sous le nom :
feuille

2 | Affectation de plages et cellules

Notation A1

Set plageZone = feuille.Range("A1:B5")
Désigne la plage A1:B5
Set plageZone = feuille.Range("A:A,C:C,F:F")
Désigne les colonnes A, C et F

Numéro d'index

Set plageZone = feuille.Cells(6, 1)
plageZone.Value = 10
La cellule A6 (ligne 6 et colonne 1) contiendra la valeur 10.

Relative à des cellules

Set plageZone=ActiveCell.Offset(1, 3)
plageZone.Font.Underline = xlDouble
Applique un souligné double à une cellule situé une ligne en dessous et 3 colonnes vers la droite de la cellule active.

Plage nommée

Set plageZone = classeur.Names("Produits").RefersToRange
plageZone.Font.Italic = True
Met en italique les cellules de la plage nommée Produits.dans le classeur classeur.

Lignes et colonnes

Set plageZone = feuille.Rows(1)
plageZone.Font.Bold = True
Met en gras toutes les cellules de la ligne A de la feuille.

Toutes les cellules

feuille.Cells.ClearContents
Efface toutes les cellules de la feuille.

La région courante

Set plageZone = feuille.Range("A1").CurrentRegion
Sélectionne la zone autour de la cellule A1, équivalent à CTRL + *. Celle-ci est une plage limitée par toute combinaison de lignes et de colonnes vides.

Sauf la première ligne

Set plageZone = ActiveCell.CurrentRegion
Set plageZone = plageZone.Offset(1).Resize(plageZone.Rows.Count - 1)

Manipulation de plages et cellules

Effacer

Set plageZone = feuille.Range("A1:B5")
plageZone.ClearContent
Efface le contenu des cellules de la plage A1:B5

Supprimer

Set plageZone = feuille.Range("2:2")
Set plageZone = feuille.Delete
Supprime le contenu de la ligne 2
Set plageZone = feuille.Range("B5")
plageZone.Delete xlShiftToLeft
Supprime la cellule B5 et décale vers la gauche. Autre valeur possible xlShiftUp.

Insérer

Set plageZone = feuille.Range("2:2")
plageZone.Insert
Insère une cellule au-dessus de la cellule A2
Set plageZone = feuille.Range("A2")
plageZone.Insert xlShiftDown
Insère une ligne au-dessus de la ligne 5
Set plageZone = feuille.Range("B5")
plageZone.EntireRow.Insert xlShiftDown
Insère une colonne à droite de la colonne 2
Set plageZone = feuille.Range("B5")
plageZone.EntireColumn.Insert xlShiftToRight

Copier/coller des cellules

feuille.Range("A1:E4").Copy Destination:=autre_feuille.Range("B2")
Copie la plage A1:E4 de feuille et colle ces cellules à partir de la cellule B2 de autre_feuille.

Fonctions personnalisées

Vérifie si un nom de plage existe

Renvoie True si le nom de plage sName existe. Sinon renvoie False.
Function RangeNameExists(sName) As Boolean
Dim n As Name
RangeNameExists = False
For Each n In ActiveWorkbook.Names
If UCase(n.Name) = UCase(nname) Then
RangeNameExists = True
Exit Function
End If
Next n
End Function

Tester un type de sélection

Dim c
c = TypeName(Selection)
La variable c pourra contenir :
Range (une cellule ou une plage de cellule
ChartArea (une zone de traçage d’un graphique)
ChartTitle (le titre d’un graphique)
Series (une série dans un graphique)
Picture (une image)
Rectangle (une forme)
Drawing (un dessin)
Etc.

Résumé

image.png
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.