salut Fredennes et tt le monde
Pas facile, ta question !…
Cette macro est dite événementielle ( + de détail : voir site de Laurent Longre):
L’événement ici est la sélection d’une cellule. Pour sélectionner ce genre de macro, il te faut aller dans l’éditeur VBA de la feuille en cours, i*tu sélectionne Worksheet dans la liste déroulante de gauche sélection_change est inscrit par défaut (regarde les autres possibilités dans la liste de droite°
Dans un premier temps, on limite l’action de l’événement à une zone, ici A1, car sinon, la macro se déclencherait chaque fois que tu cliques
Le pseudo code pourrait s’écrire
Si l’intersection de la cible et la de la cellule « A1 » est vide alors fin du process
A noter que then : end interromps toutes les macros en cours
Then : exit sub sort de la macro et éventuellement continue la macro mère
N° de la 1° ligne vide :
Syntaxe tirée du site d’Eric Renaud (site à consulter d’urgence pour les amateurs de VBA)
Dans l’objet columns 1 (1=A en affichage L1C1) trouve (find) la valeur vide après la cellule D65536 (après D65536 on a D1)) en cherchant par rangée (xlbyrows). Appliquer la propriété Row (rangée)
Pour plus de détails consultes l’aide microsoft de Find… Tu peux commencer ta recherche à la hauteur que tu veux
IL y a d’autre formules toutes aussi valables pour trouver la 1° ligne égale à X ou vide que tu verras souvent sur le forum
Une fois que tu as le numéro de la ligne j’ai employé cells(lig,col) mais tu peux employer range(« D » &lig)
On serait tenter de marquer range’(« A1 »).value mais l’objet range possède la propriété value par défaut.
Voilà, voilà. Cette macro est symbolique pour moi car ce pb a été le premier que j’avais essayé de résoudre par macro il y a quelques 3,5 ans… Le listing n’était pas le m^me avec des boucles usine-à-gaz et des copy paste pas piqués des vers…. Tout ça pour te dire que ce qu’un imbécile à pu faire, quelqu’un de normalement constitué etc .
Comme tu veux progresser (fais gaffe : vba n’est pas toujours LA solution : tant que tu peux utiliser les fonctions excel, évites vba) tu trouves sur la toile des cours super .
Tu as Bien sûr XLD, Le site le + pédagogique que j’ai trouvé (avis perso) est info-3000.com .
sur ce forum ou sur les sites : télécharges, vois ce que ça donne ; Relis en pas à pas en utilisant l’espion (menu déboguage) et utilises aussi l’aide Microsoft qui souvent précieuse.
Amicalement
Michel
Pas facile, ta question !…
Cette macro est dite événementielle ( + de détail : voir site de Laurent Longre):
L’événement ici est la sélection d’une cellule. Pour sélectionner ce genre de macro, il te faut aller dans l’éditeur VBA de la feuille en cours, i*tu sélectionne Worksheet dans la liste déroulante de gauche sélection_change est inscrit par défaut (regarde les autres possibilités dans la liste de droite°
Dans un premier temps, on limite l’action de l’événement à une zone, ici A1, car sinon, la macro se déclencherait chaque fois que tu cliques
Le pseudo code pourrait s’écrire
Si l’intersection de la cible et la de la cellule « A1 » est vide alors fin du process
A noter que then : end interromps toutes les macros en cours
Then : exit sub sort de la macro et éventuellement continue la macro mère
N° de la 1° ligne vide :
Syntaxe tirée du site d’Eric Renaud (site à consulter d’urgence pour les amateurs de VBA)
Dans l’objet columns 1 (1=A en affichage L1C1) trouve (find) la valeur vide après la cellule D65536 (après D65536 on a D1)) en cherchant par rangée (xlbyrows). Appliquer la propriété Row (rangée)
Pour plus de détails consultes l’aide microsoft de Find… Tu peux commencer ta recherche à la hauteur que tu veux
IL y a d’autre formules toutes aussi valables pour trouver la 1° ligne égale à X ou vide que tu verras souvent sur le forum
Une fois que tu as le numéro de la ligne j’ai employé cells(lig,col) mais tu peux employer range(« D » &lig)
On serait tenter de marquer range’(« A1 »).value mais l’objet range possède la propriété value par défaut.
Voilà, voilà. Cette macro est symbolique pour moi car ce pb a été le premier que j’avais essayé de résoudre par macro il y a quelques 3,5 ans… Le listing n’était pas le m^me avec des boucles usine-à-gaz et des copy paste pas piqués des vers…. Tout ça pour te dire que ce qu’un imbécile à pu faire, quelqu’un de normalement constitué etc .
Comme tu veux progresser (fais gaffe : vba n’est pas toujours LA solution : tant que tu peux utiliser les fonctions excel, évites vba) tu trouves sur la toile des cours super .
Tu as Bien sûr XLD, Le site le + pédagogique que j’ai trouvé (avis perso) est info-3000.com .
sur ce forum ou sur les sites : télécharges, vois ce que ça donne ; Relis en pas à pas en utilisant l’espion (menu déboguage) et utilises aussi l’aide Microsoft qui souvent précieuse.
Amicalement
Michel
v