A voir également:
- Excel 2013 - VBA - activesheet par défaut
- Word 2013 - Télécharger - Traitement de texte
- Excel 2013 - Télécharger - Tableur
- Liste déroulante excel - Guide
- Excel trier par ordre croissant chiffre - Guide
- Powerpoint 2013 - Télécharger - Présentation
3 réponses
Bonjour,
macro en recording. Vous faites reference a l'enregistreur de macro ou ...?????
Vous pourriez montrer un exemple de la chose ??
macro en recording. Vous faites reference a l'enregistreur de macro ou ...?????
Vous pourriez montrer un exemple de la chose ??
jeane2413
Tout a fait en enregistrement. Je n écris pas directement le code. Je ne suis pas chez moi donc je ne pourrai pas vous donner d exemple d ici peu
Donc typiquement pour sélectionner la cellule A1 par exemple, dans une feuille, VBA inscrit le code suivant quand je suis en recording (enregistrement probablement...)
ActiveCell.Offset(23, -3).Range("A1").Select
Sauf que ce code active une cellule qui se trouve à une distance de la cellule active. Dans ce cas 23 colonnes et -3 lignes de cellule active. Il suffit donc que dans la dernière navigation, avant de tourner la macro la dernière cellule sélectionnée est différente pour qu'il n'aille plus sur la cellule A1.
Le code correct serait:
ActiveSheet.Range("A1").Select.
J'aimerais demander à VBA, lorsque j'enrigstre une macro qu'il utilise ce code ActiveSheet par défaut plutôt qu'ActiveCell.Offset.
Les Macros sont trop longues et trop nombreuses pour que je modifie manuellement les ActiceCell.Offset en ActiveSheet.
Merci
ActiveCell.Offset(23, -3).Range("A1").Select
Sauf que ce code active une cellule qui se trouve à une distance de la cellule active. Dans ce cas 23 colonnes et -3 lignes de cellule active. Il suffit donc que dans la dernière navigation, avant de tourner la macro la dernière cellule sélectionnée est différente pour qu'il n'aille plus sur la cellule A1.
Le code correct serait:
ActiveSheet.Range("A1").Select.
J'aimerais demander à VBA, lorsque j'enrigstre une macro qu'il utilise ce code ActiveSheet par défaut plutôt qu'ActiveCell.Offset.
Les Macros sont trop longues et trop nombreuses pour que je modifie manuellement les ActiceCell.Offset en ActiveSheet.
Merci