EXCEL - références dans une sélection de plusieurs plages - VB/VBA/VBS - Programmation
Marsh Posté le 24-08-2008 à 00:27:02
J'élargis ma question :
De manière générale, comment définir dans VB les références d'une sélection aléatoire ?
Mon idée : pouvoir sélectionner plusieurs cellules et/ou plages, puis, avec l'aide de boutons, pouvoir produire des actions dans ces sélections.
Marsh Posté le 24-08-2008 à 00:48:15
bonsoir
vu ke tu es dans excel il faut faire une macro mais pas dans un module mais dans thisworkbook.
Code :
|
edit:
par contre ca ce lance des que tu selectionne une plage
si je trouve je te tiens o crt
Marsh Posté le 24-08-2008 à 00:59:12
Merci bcp
Je vais essayer de comprendre et de l'adapter
Je te tiens au courant
A+
Marsh Posté le 24-08-2008 à 03:51:32
Re..
bon, je suis un peu perdu. J'ai fait ma sauce, et j'ai le msg "argument non facultatif". qu'est-ce qu'il manque ?
Code :
|
au fait, la ligne 4 sert à quoi ?
je vais me coucher ...
A+
Marsh Posté le 24-08-2008 à 11:59:06
godric57 a écrit : Re..
|
Marsh Posté le 24-08-2008 à 13:17:18
Salut, bien dormi ?
Merci de m'avoir encore aidé à avancer, mais je suis débutant et j'ai encore un peu de mal.
J'ai qch qui marche presque comme je veux,
mais comment je fais pour te l'envoyer en fichier zip ?
ça serait + facile
Marsh Posté le 24-08-2008 à 13:38:56
Sinon, voilà ce que ça donne :
Code :
|
ce que j'aimerais obtenir, c'est que le collage prévu en ligne 13 se fasse une seule fois par ligne, dans la première cellule sélectionnée
Marsh Posté le 24-08-2008 à 17:02:47
bonjour,
Si j'ai bien compris...
C'est un petit peu plus compliqué que ce que tu le supposes. (car une sélection multiple même contigüe, n'est pas considéré comme un range, mais comme plusieurs areas)
Voici ce que j'ai compris :
Code :
|
On lancera la procédure Test qui appelle la procédure Boucle...
A+
[Edit] la ligne 11 -inutile- à été supprimée... Boucle récupère un paramètre...
Marsh Posté le 24-08-2008 à 17:04:43
Salut,
merci, je vais voir.
Au fait, tu sais comment on fait pour envoyer unfichier dans un msg sur ce forum ?
Marsh Posté le 24-08-2008 à 17:41:34
merci, je travaille encore un peu mon projet, puis je te montrerai
Marsh Posté le 24-08-2008 à 18:37:27
ça y est, j'ai galéré plusieurs heures dessus, car je suis pas très doué,
mais là, ça marche,
merci beaucoup galopin01 et 86vomito33
vous m'avez bien aidé !!!
ci joint le fichier avec 2 3 commentaires :
http://cjoint.com/?iysHLsq0jk
A+
Marsh Posté le 24-08-2008 à 19:20:23
Re...
J'ai modifié la macro source pour éviter de traiter tous les blocs à chaque fois. Il n'est pas utile de réinitialiser k car k est réinitialisé à 0 à chaque appel de proc. Mais évidement comme tu as bricolé ça, évidement tu es obligé de réinitialiser.
Pour reprendre mon code, voici la même chose à la lumière de ton fichier joint.
Code :
|
A+
Marsh Posté le 24-08-2008 à 19:26:53
OK, vu : je ne connaissais pas offset,
je crois que ça va bcp m'aider
Merci encore de consacrer du temps pour m'aider
bonne soirée,
G57
Marsh Posté le 24-08-2008 à 20:51:23
Re-
ça déroule au poil,
mais en adaptant offset à ma procéduré "bricolée", ça va plus vite car le collage offset n'est pas inclus dans la boucle.
je vois la différence, car le fichier sur lequel je bosse est déjà assez lourd.
Et puis, petit galopin : il y avait déjà un pb avec k avant même que je modifie ta proposition ...
Merci en tous cas, car sans toi, je ne serais pas arrivé à grand chose.
A une prochaine fois peut-être ?
G57
Pour info, le code final :
(bouton_1 est reproduisible facilement, en faisant tjs référence à remplissage)
Code :
|
Marsh Posté le 23-08-2008 à 22:57:06
Bonsoir,
Merci de m'aider à régler un problème de débutant :
Quand je sélectionne plusieurs plages sur ma feuille excel,
je voudrais que VB calcule le n° de colonne de la 1re cellule de chaque ligne (variable "col" )
Mais avec ce que j'ai fait, vb ne garde en mémoire que le n° de colonne de la 1re cellule de la 1re ligne
For Each Row In ActiveCell
col = ActiveCell.Column
Quel terme dois-je employer ?
Merci de vos réponses,
---------------
G57