Excel - Power Query - Power Pivot - VBA
VB Excel

icon picker
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 ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.