Suivi de la position d'une cellule en VBA

Bonjour,

Je débute en VBA et j'ai un problème avec les cellules lorsqu'elles se déplacent. Je m'explique.

Lorsque l'on écrit des formules en mode normal (non-VBA) et que les cellules associées au formules sont déplacées, les formules s'ajustent automatiquement.

Par exemple, si dans une cellule j'écrit la fonction suivante:

=A1+A2

Supposons que j'insère une colonne tout a gauche, la formule est automatiquement ajustée et devient:

=B1+B2

Ceci ne semble plus être vrai en VBA... en tout cas je galère.

J'ai créé un programme qui cache la ligne 30 sous certaines condition. Mais j'ai aussi un bouton qui insère une ligne en ligne 15.

Si je cache la ligne 30 avant d'insérer la nouvelle ligne 15, aucun probleme. Par contre si j'insère la ligne 15 et que je cache la ligne ensuite, alors la il continue de me cacher la ligne 30 alors que je voudrai qu'il cache la ligne 31...

J'espère que c'est clair.

Donc ma question: comment on fait pour que le programme VBA réajuste automatiquement un numero de ligne, de colonne ou de cellule lorsque celle-ci est déplacée?

PS: je préférerai éviter un programme qui consisterai a compter le nombre de clic ou quoi. Idéalement je souhaiterai une méthode générale qui englobe tout les cas possible de déplacement... comme pour les formules non-VBA.

Merci de votre aide

Bonsoir,

Tu parles d'utilisation de formules utilisant des fonctions de feuilles de calcul en VBA. Je considère que cela n'est justifié que dans les cas où l'on ne dispose pas de fonction proprement VBA ou si leur usage simplifie l'écriture du code... D'autre part, si c'est pour faire comme on le fait avec des formules dans la feuille, mettre des formules et laisser VBA !

Si on utilise VBA pour des calculs que l'on ne fait pas par formules, c'est que cela présente un intérêt qui peut être pour ne pas alourdir le classeur, mais aussi parce que l'on opère dans une situation mouvante.

Et justement dans ce cas, chaque fois que l'on en a besoin, on renouvelle le calcul !

Cela ne pose en principe aucune difficulté ni problème d'exécution.

Même chose quand on a à se déplacer, on définit le déplacement et on l'exécute ! Autant de foisque nécessaire !

Quant à compter les clics ?? Je ne crois pas avoir jamais eu à le faire en VBA et VBA n'en a aucun besoin pour opérer !

J'ajouterai qu'une utilisation optimale de VBA recherche la limitation maximale des interactions avec Excel entre le prélèvement de données à traiter et la restitution des résultats du traitement...

Et on évite l'enregistreur de macro qui ne fait que reproduire des opérations manuelles, un code à éviter pour l'essentiel si l'on veut travailler efficacement en VBA. Il faut penser avec les possibilités du programme.

Cordialement.

Bonjour,

Nomme une cellule (A30 par exemple), ce nom suivra les insertions/suppressions de lignes et de colonnes.

[nomquivabien].EntireRow.Hidden = True

eric

Merci Eric.

Je pense que cela répond a ma question.

Cordialement

Rechercher des sujets similaires à "suivi position vba"