Académique Documents
Professionnel Documents
Culture Documents
Sub Compteur1()
For cpt = 1 To 200
Range("B5").Formula = cpt
Next
End Sub
If Cellule.Interior.ColorIndex = 3 Then
(pour la couleur de fond)
If IsNumeric(Cellule) Then total = total +
Cellule.Value
End If
Next
MsgBox total
Range("G12") = total
End Sub
Compte le nombre de cellules
colorées en rouge de la sélection
Sub NombredeCellRouge()
Dim Cellule As Range
Dim total As Variant
For Each Cellule In Selection
If Cellule.Interior.ColorIndex = 3 Then
'rouge
total = total + Cellule.Count
End If
Next
MsgBox "Il y a " & total & " Cellules
rouges"
Range("A1") = total
End Sub
Personnalise les couleurs de la
sélection suivant les valeurs RGB
Sub CouleurRGB()
Range("a1").Interior.Color = RGB(0, 0, 0)
Range("a2").Interior.Color = RGB(255, 0,
0)
End Sub
Cherche si la sélection contient
une formule
Sub ChercheFormule()
'Dès qu'une formule est trouvée,
'un message s'affiche et sort de la boucle.
For Each Cellule In Range("A1:B5")
If Left(Cellule.Formula, 1) = "=" Then
MsgBox "La plage contient une formule."
Exit For
End If
Next
End Sub
Trie les lignes et supprime les
doublons.
Sub tridoublon()
Worksheets("Feuil1").Range("A1").Sort _
key1:=Worksheets("Feuil1").Range("A2"),
_
Order1:=xlAscending, Header:=xlGuess
Set MaCell =
Worksheets("Feuil1").Range("A1")
Set plg1 =
Sheets("Feuil1").Range("A1:A10")
Set plg2 =
Sheets("Feuil1").Range("B10:B20")
Set ToutePlage = Union(plg1, plg2)
ToutePlage.Interior.ColorIndex = 5
End Sub
Rempli l'union de deux plages
avec la valeur 100
Sub RempliUnion()
Worksheets("Feuil1").Activate
Set MaPlage =
Application.Union(Range("A1:D10"),
Range("F1:H12"))
MaPlage.Value = 100
End Sub
Sélectionne la cellule A154 de la
Feuil1 et "Scroll" l'écran
Sub AllerA()
Application.Goto
Reference:=Worksheets("Feuil1").Range("
A154"), Scroll:=True
End Sub
Donne le numéro de ligne de la
valeur cherchée
Sub NumeroDeLigne()
NumeroLigne = Cells.Find("100").Row
MsgBox NumeroLigne
End Sub
Donne le nombre de lignes de la
sélection
Sub NombreDeLigne()
With Selection
MsgBox Selection.Rows.Count
End With
End Sub
Cette macro affiche la formule
écrite en A1 en A2
Il faut savoir que:
Pour afficher une formule il faut entrer un
espace ou une apostrophe (') devant la
formule.
Cette macro affiche la formule A1 en A2
Sub AfficheFormule()
Range("A1").Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial Paste:=xlFormulas,
Operation:=xlNone,
SkipBlanks:= False, Transpose:=False
Application.SendKeys "{f2}"
For I = 1 To 10
Application.SendKeys "{gauche}"
Next I
Application.SendKeys "{droite}"
'inscrit un espace devant la
formuleApplication.SendKeys "{BS}"
Application.SendKeys "{ENTREE}"
End Sub
Affiche et sélectionne la
référence d'une sélection
Sub BoiteSelectionZone()
Dim Var As Object
On Error Resume Next
Set Var =
Application.InputBox(Prompt:="Sélectionn
er votre zone: (Ex. A1:B10) ", _
Title:="Sélection de zone ",
Default:="$A$1", Type:=8)
On Error GoTo 0
If Not (TypeName(Var) = "Rien") Then
MsgBox Var.Address
Var.Select
End If
Set Var = Nothing
End Sub
Donne le numéro de ligne aussi
que la lettre de la colonne de la
cellule active
Sub ColLigne()
Colonne = Left$(ActiveCell.Address(0, 0),
(ActiveCell.Column < 27) + 2)
Ligne = ActiveCell.Row
MsgBox Colonne & Ligne
MsgBox Colonne
MsgBox Ligne
End Sub
Formate la plage A1:A10 avec
une procédure événementielle.
(1 er - 2, 3, 4 etc...ème )
Mode d'emploi:
Dans l'éditeur VB double-cliquez sur la
feuille désirée
et coller tout le code suivant dans la partie
droite.
Modifiez la plage si besoin ici ----
Intersect(Target, Range("A1:A10"))----
A chaque modification des cellules de la
plage (A1:A10) le format est mis
automatiquement.
Private Sub Worksheet_Change(ByVal
Target As Range)
Dim Plage As Range
Set Plage = Intersect(Target,
Range("A1:A10"))
If Plage Is Nothing Then Exit Sub
For Each cellule In Plage
If cellule.Value = 1 Then
cellule.NumberFormat = "General"" er"""
Else: cellule.NumberFormat = "General""
ème"""
End If
Next
End Sub
D'autres procédures
événementielles.
Pour la feuil1
Private Sub Worksheet_Activate()
MsgBox "La Feuil1 est activée"
End Sub
Private Sub
Worksheet_BeforeDoubleClick(ByVal
Target As Range, Cancel As Boolean)
MsgBox "DoubleClick effectué"
End Sub
Private Sub
Worksheet_BeforeRightClick(ByVal Target
As Range, Cancel As Boolean)
MsgBox "Click droit effectué"
End Sub
Private Sub
Worksheet_SelectionChange(ByVal Target
As Range)
MsgBox "La sélection a changé"
End Sub
Private Sub
Worksheet_BeforeDoubleClick(ByVal
Target As Range, Cancel As Boolean)
MsgBox "DoubleClick interdit!"
Cancel = True
End Sub
Cherche un mot.
Sub SearchText()
Dim SearchString, SearchChar, MyPos
SearchChar = "salut"
For Each cell In Range("A1:A11")
SearchString = cell.Text
MyPos = InStr(SearchString, SearchChar)
Clique sur OK
ATTENTION !!! L'enregistrement de la macro commence!
Tout ce que sera fait maintenant sera enregistré !
Click droit sur les barres d'outils et tout en bas clique sur "Personnaliser..."
Dans l'onglet "Commande" sélectionne "Formulaires" dans la liste déroulante
"Catégories"
Puis dans la liste "Commandes" clique sur "Bouton" et place le sur une barre
d'outils.
(en restant appuyer sur le bouton de la souris)
Referme la boîte de dialogue
Un clique droit sur le bouton et tu peux ainsi modifier son texte, sa police etc...
Comment renommer un module et une macro?