Macros Vba

Résolu/Fermé
memel945 Messages postés 26 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 15 juin 2017 - 14 juin 2017 à 09:38
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 15 juin 2017 à 21:00
Bonjour,

je viens vers vous car je cherche à sélectionner une cellule qui peut varier chaque année. je m'explique, quand je lance ma macro_finale (composition de deux macros) il actualise sur tous mes onglets toutes mes demandes avec la première macro. il fait de même pour la seconde macro sauf que du à l'insertion de lignes dans la première macro il faudrait décaler la cellule où il commence à bosser.
je pense quand y insérant un compteur de la ligne où il doit commencer peut être une solution mais je ne sais pas comment faire.
help merci d'avance !

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
14 juin 2017 à 13:24
Bonjour,

Nommes ta cellule début qui ainsi pourra se déplacer et utilises la dans ta macro : début_ligne = ma_cellule_début.row par exemple
0
memel945 Messages postés 26 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 15 juin 2017
14 juin 2017 à 14:21
bonjour,

je peux t'envoyer mon fichier afin que tu puisses voir si possible...
merci
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
14 juin 2017 à 18:28
Bonjour,

Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
0
memel945 Messages postés 26 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 15 juin 2017
15 juin 2017 à 10:41
Voici le lien du fichier et cela concerne le module 2...chaque année avec les insertions des années pour la mise à jour des autre tableaux il va falloir changer les lignes :
Sheets(sht.Name).Cells(y + 132, col).Value = wk2.Sheets(baseSh(i)).Cells(y + n, 3).Value
Sheets(sht.Name).Cells(y + 132, col + 1).Value = wk2.Sheets(baseSh(i)).Cells(y + n, 4).Value

et en fait j'aimerais ne plus avoir ces chiffres là... car à chaque fois il y a un décalage !

https://www.cjoint.com/c/GFpiNXYJFOe

merci de m'éclairer !!!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
15 juin 2017 à 21:00
Bonsoir,

à mon avis, c'est la méthodologie qu'il faut changer.
Lorsque plusieurs tableaux sont les uns sous les autres, il aurait fallu les nommer et utiliser ce nommage pour les mises à jour ou avoir des cellules avec un libellé précis et fixe (locked) pour pouvoir le rechercher sans soucis.
à partir du moment où c'est les positions de ligne qui sont utilisées, toute insertion crée forcément la panique à bord.
Tu cites 2 lignes mais en fait c'est toute la procédure qui est conçue ainsi.
0