Application d'une macro VBA
Fermé
Akhös
-
11 juin 2014 à 19:10
eriiic Messages postés 24582 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 juin 2024 - 11 juin 2014 à 21:15
eriiic Messages postés 24582 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 juin 2024 - 11 juin 2014 à 21:15
A voir également:
- Application d'une macro VBA
- Macro word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Désinstaller une application sur pc - Guide
- Application gps sans internet - Guide
- Macro logiciel - Télécharger - Organisation
1 réponse
eriiic
Messages postés
24582
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 juin 2024
7 223
11 juin 2014 à 21:15
11 juin 2014 à 21:15
Bonjour,
Si tu fais F1 sur Offset tu as l'aide excel qui est très bien faite :
Offset, propriété
Cette propriété renvoie un objet Range qui représente une plage décalée de la plage spécifiée. En lecture seule.
expression.Offset(RowOffset, ColumnOffset)
expression Obligatoire. Expression qui renvoie un objet Range.
RowOffset Argument de type Variant facultatif. Nombre de lignes (valeur positive, négative ou égale à 0 (zéro)) de décalage à appliquer à la plage. Les valeurs positives correspondent à un décalage vers le bas et les valeurs négatives à un décalage vers le haut. La valeur par défaut est 0.
ColumnOffset Argument de type Variant facultatif. Nombre de colonnes (valeur positive, négative ou égale à 0 (zéro)) de décalage à appliquer à la plage. Les valeurs positives correspondent à un décalage vers la droite et les valeurs négatives à un décalage vers la gauche. La valeur par défaut est 0.
Par contre je l'avais mal nommée, add est un mot du basic et il vaut mieux éviter. Appelle-là addX() par exemple.
Tu peux avoir (presque) autant de procédures que tu veux tant qu'elles portent des noms différents.
Pour raccourcir le code tu peux aussi appeler une autre procédure, en lui passant des paramètres éventuellement.
Exemple :
Dans la mesure où c'est la même plage pl_add qui est concernée.
Sinon il faut soit créer une nouvelle procédure avec le nouveau nom de plage, soit ajouter un paramètre Plage (as Range) à passer à la procédure.
eric
Si tu fais F1 sur Offset tu as l'aide excel qui est très bien faite :
Offset, propriété
Cette propriété renvoie un objet Range qui représente une plage décalée de la plage spécifiée. En lecture seule.
expression.Offset(RowOffset, ColumnOffset)
expression Obligatoire. Expression qui renvoie un objet Range.
RowOffset Argument de type Variant facultatif. Nombre de lignes (valeur positive, négative ou égale à 0 (zéro)) de décalage à appliquer à la plage. Les valeurs positives correspondent à un décalage vers le bas et les valeurs négatives à un décalage vers le haut. La valeur par défaut est 0.
ColumnOffset Argument de type Variant facultatif. Nombre de colonnes (valeur positive, négative ou égale à 0 (zéro)) de décalage à appliquer à la plage. Les valeurs positives correspondent à un décalage vers la droite et les valeurs négatives à un décalage vers la gauche. La valeur par défaut est 0.
Par contre je l'avais mal nommée, add est un mot du basic et il vaut mieux éviter. Appelle-là addX() par exemple.
Tu peux avoir (presque) autant de procédures que tu veux tant qu'elles portent des noms différents.
Pour raccourcir le code tu peux aussi appeler une autre procédure, en lui passant des paramètres éventuellement.
Exemple :
Sub add01() addOffset 0, 1 End Sub Sub addOffset13() addOffset 1, 3 End Sub Sub addOffset(lig As Long, col As Long) Dim c As Range For Each c In [pl_add] c = c + c.Offset(lig, col) c.Offset(lig, col) = "" Next c End Sub
Dans la mesure où c'est la même plage pl_add qui est concernée.
Sinon il faut soit créer une nouvelle procédure avec le nouveau nom de plage, soit ajouter un paramètre Plage (as Range) à passer à la procédure.
eric