Borner l'execution d'une SUB à une plage de cellule

  • Initiateur de la discussion Initiateur de la discussion tkd2009
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

tkd2009

Guest
bonjour,
Je vais essayer de vous exposer mon problème simplement.
Dans le fichier joint, j'ai un tableau sur la feuille "bilan" dont les données sont récupérées et mise en forme par la sub "formatage des données supplémentaires"
Je voudrais modifier cette SUB pour la faire fonctionner sur des "sample file" (colonne A de "bilan") qui se rajoutent au dernier moment sans toucher les autres.
Pour l'exemple j'ai rajouté les samples TOTO et TUTU en bas de colonne A, j'arrive à définir une plage sur ces nouveaux samples comme suit:
range(range("C65536").End(xlUp).Offset(1, -2), range("A65536").End(xlUp))
Ce qui correspond à la première cellule de "A" qui n'a pas de données en C jusqu'à la dernière ligne.
Mais je n'arrive pas à borner l'execution de la sub sur ce range.
Je n'ai pas trouvé la syntaxe ou l'argument (ou les 2) pour que la sub se limite à ce nouveaux range et ne réimporte pas toutes les données.
Quelqu'un pourrait il m'éclairer SVP ?
 

Pièces jointes

Re : Borner l'execution d'une SUB à une plage de cellule

Bonjour,

Si tu arrives à déterminer le range sur lequel doit fonctionner la macro, est-ce qu'en utilisant un
With (sur ton range)
exécute la macro
end with

cela ne fonctionne pas ?

NeMoS
 
Re : Borner l'execution d'une SUB à une plage de cellule

Bonjout Tkd, NeMos, bonjour le forum,

Peut-être comme ça :
Code:
Dim dlg As Integer, I As Integer, lig As Integer, plg As Integer
Dim Col As Byte, c As Byte
With Sheets("Données brutes")
     plg = .Cells(Application.Rows.Count, 3).End(xlUp).Row + 1
     dlg = .Range("A65536").End(xlUp).Row
     For I = plg To dlg
          '....
 
Re : Borner l'execution d'une SUB à une plage de cellule

A neMos: ça ne change rien, la sub traite toutes les données et pas uniquement les nouvelles.
A Robert: j'ai essayé mais rien ne se passe....
Je pensais qu'en remplaçant le 'Columns("A")' de la ligne
'lig = WorksheetFunction.Match(.Range("B" & I), Sheets("Bilan").Columns("A"), 0)'
par ma nouvelle plage suffirait à borner l'execution, mais j'arrive pas à lui faire accepter cette plage...
Soit c'est pas la bonne solution, soit j'ai pas la bonne syntaxe...soit les 2
snif!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
329
Retour