Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

limiter champ d'action

P

phileas

Guest
je cherche à limiter le champ d'action d'une macro.
j'ai créé une macro simple qui permet d'inserer dans la cellule activeve une ligne.
Je veux que cette action n'intervienne que si la cellule active fait partie d'un champ de cellule bien défini.
sinon, pas d'action + message d'erreur

clair ? pas clair ?
merci de vos conseils

Phileas
 
P

phileas

Guest
bingo !
bravo !

respect !
merci

encore une petite chose
est il possible de définir la limite d'un champ de cellules autrement que par les N° de cellule mais par leur caractéristique ou contenu
ex : A1:cellule rouge (ou cellule avec mot 'fin')
au lieu de
a1:A10

phileas
 

myDearFriend!

XLDnaute Barbatruc
Bien sûr phileas,

Dans l'expression :
If Not Application.Intersect(ActiveCell, PLAGE) Is Nothing Then
... tu peux définir la plage comme tu le souhaites.

Ci-dessous un exemple de code qui, en amont, permet de définir une Plage1 correspondant à toutes les cellules comportant le mot 'fin' et une Plage2 rassemblant l'ensemble des cellules avec un fond rouge :
Cordialement,

Message édité par: myDearFriend!, à: 29/09/2005 02:43
 
P

phileas

Guest
Merci.
Que siginfie 'en amont'.
Dois je créer une macro spécifique qui défini les plages1 et 2.
Cette macro doit se lancer à l'ouverteure du classeur, non ?
Si oui comment fait on ?
Si non faut il réécrire le code sur chaque macro qui nécessite la définition des plages 1 et 2 ?

cordialement

phileas
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir phileas,

'En amont' veut dire 'avant'... cela signifie que tu dois définir la plage souhaitée avant de t'en servir...
Autrement dit, pour l'exemple précédent, si tu veux pouvoir contrôler que la cellule active appartient bien à une certaine plage avant traitement, cette dernière représentant l'ensemble des cellules contenant le mot 'fin' :
Cela dit, l'exemple est ici assez mal choisi finalement car avec ce qui suit, tu devrais obtenir la même chose !
Cordialement,
 
P

phileas

Guest
merci beaucoup
je ne suis pas sur de m'être bien exprimé, je souhaite non pas définir les caractéristiques d'une plage mais de ses limites.
je veux insérer des lignes entre deux cellules l'une s'appelant 'debut'
l'autre 'fin'.
il est entendu que la colonne ainsi définie A1:A2 (A1=début, A2=fin)s'étend à chaque insertion
 

myDearFriend!

XLDnaute Barbatruc
Re phileas,

Bon, on efface tout et on reprend...:silly:

Soit les deux mots 'debut' et 'fin' (dans l'ordre !) apparaissant chacun dans une cellule de la colonne A, la procédure ci-dessous insèrera une ligne entière juste avant la cellule contenant le mot 'fin' :
Bon courage pour la suite...

Cordialement,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…