|
 |

Les Boucles et Compteurs
Installe un compteur en A3
Sub Compteur1() For compteur = 1 To 200 Range("A3").Formula = compteur
Next End Sub
Ajoute une valeur
Ajoute 100 aux valeurs de la colonne A dans la colonne B
et ceci pour les 10 premières cellules
Sub AjoutVAl()
Dim MaValeur, nbcell
For nbcell = 1 To 10
Range("A" & nbcell).Select
MaValeur = ActiveCell.Value
Range("B" & nbcell).Select
ActiveCell.Value = MaValeur + 100
Next
End Sub
Incrémente un compteur
'Le mot clé Step permet d'incrémenter ou de décrémenter
Sub Total() For i = 2 To 10 Step 2 Next i
MsgBox "Le total est de " & i End Sub
Compte les valeurs identiques
Sub ValeursIdentiques()
Spinner = 0
Set plageCherche = Application.InputBox(Prompt:="Sélectionner la plage de recherche", Type:=8)
ValCherchée = Application.InputBox(Prompt:="Quelle valeur cherchez-vous?", Type:=1)
For Each Item In plageCherche
If Item.Value = ValCherchée Then Spinner = Spinner + 1
Next Item
MsgBox "Il y a " & CStr(Spinner) & " valeurs identiques"
End Sub
Compte le nombre de cellules vides de la sélection.
Sub CountCellvide()
numBlanks = 0
For Each c In Selection
If c.Value = "" Then
numBlanks = numBlanks + 1
End If
Next c
MsgBox "Il y a " & numBlanks & " cellules vides dans cette plage."
End Sub
Boucle pour parcourir une plage de cellules
'Utilise une boucle For Each...Next pour parcourir toutes les cellules d'une plage.
'Arrondi à zéro tout nombre dont la valeur absolue est inférieure à 0,05.
Sub Zero() For Each Cellule In Range("A1:B10") If Abs(Cellule.Value) < 0.05 Then Cellule.Value = 0 End If Next End Sub
Affecte une largeur de 5 points
à une colonne sur deux de la sélection sur la Feuil1.
Sub LargeurColonne()
For Each col In Selection.Columns
If col.Column Mod 2 = 0 Then
col.ColumnWidth = 5
End If
Next col
End Sub
Et pour une ligne (Toutes les 6 lignes):
Sub Ligne()
Range("D1:D20").Select 'Exemple de sélection possible
For Each col In Selection.Rows
If col.Row Mod 6 = 0 Then
col.RowHeight = 5
End If
Next col
End Sub
Cherche une valeur non numérique
Sub Test()
'Dès qu'une valeur non numérique est trouvée,
'un message s'affiche et sort de la boucle.
For Each Cellule In Range("A1:B5") If IsNumeric(Cellule.Value) = False Then MsgBox "La plage contient une valeur non numérique." Exit For End If Next End Sub
Modifie la valeur des cellules d'une plage nommée "MaPlage"
Sub Modifie() Dim MaCellule As Object For Each MaCellule In Range("MaPlage") If MaCellule > 50 Then MaCellule.Value = 1000
End If Next MaCellule End Sub
Et pour finir un compte à rebours qui déclenche l'exécution d'une macro
Sub CompteARebours()
compteur = 5
'pour décrementer le compteur
For compteur = 5 To 0 Step -1
Range("b3").Formula = compteur
'Pour exécuter la macro dans 5 secondes!!!
nouvHeure = Hour(Now())
nouvMinute = Minute(Now())
nouvSeconde = Second(Now()) + 1
Reprise = TimeSerial(nouvHeure, nouvMinute, nouvSeconde)
Application.Wait Reprise
Next
If Range("b3").Value = 0 Then
'Exécution de la macro ici
Call Macro1
End If
End Sub
[top]
|