Copier incrémenter formule sans sélectionner la feuille
Résolu/Fermé
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
-
23 nov. 2016 à 11:04
mijean94 Messages postés 413 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 12 septembre 2024 - 23 nov. 2016 à 17:54
mijean94 Messages postés 413 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 12 septembre 2024 - 23 nov. 2016 à 17:54
A voir également:
- Copier incrémenter formule sans sélectionner la feuille
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Comment copier une vidéo youtube - Guide
2 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 23/11/2016 à 14:48
Modifié par Patrice33740 le 23/11/2016 à 14:48
Bonjour,
Il suffit de supprimer tout ce qui est inutile :
Cordialement
Patrice
Il suffit de supprimer tout ce qui est inutile :
Sub copie_formule() ' copier incrémenter formule de la cellule D3 ' vers les autres sur la même ligne ' Sheets("Maquette").Range("D3").AutoFill _ Destination:=Sheets("Maquette").Range("D3:IV3") End Sub
Cordialement
Patrice
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
23 nov. 2016 à 17:20
23 nov. 2016 à 17:20
Re,
L'enregistreur de macro génère le code correspondant à chaque action que tu fais (par exemple, dans ton cas tous les scroll). Mais tu ne peux agir sur les objets (cellule, feuille, graphique, ...) qu'en les sélectionnant !!!
En VBA, il est très vivement déconseillé d'utiliser des références aux objets actifs (Activate, Select, Selection, ActiveWindow, ActiveCell, ActiveSheet, ActiveShape, ....). On peut s'en passer dans 99% des cas.
En conséquence, il faut aussi éviter les références implicites car elles sont attachées à un objet parent actif, par exemple :
-
- il vaut mieux utiliser
En règle générale, il vaut mieux faire référence à des objets nommément définis, indépendamment de leur activation, i.e. : Sheets("Maquette").
L'enregistreur de macro génère le code correspondant à chaque action que tu fais (par exemple, dans ton cas tous les scroll). Mais tu ne peux agir sur les objets (cellule, feuille, graphique, ...) qu'en les sélectionnant !!!
En VBA, il est très vivement déconseillé d'utiliser des références aux objets actifs (Activate, Select, Selection, ActiveWindow, ActiveCell, ActiveSheet, ActiveShape, ....). On peut s'en passer dans 99% des cas.
En conséquence, il faut aussi éviter les références implicites car elles sont attachées à un objet parent actif, par exemple :
-
Range("D3:IV3")équivaut à
ActiveSheet.Range("D3:IV3").
- il vaut mieux utiliser
Sheets("Maquette").Range("D3:IV3").
En règle générale, il vaut mieux faire référence à des objets nommément définis, indépendamment de leur activation, i.e. : Sheets("Maquette").
Type:=xlFillDefaultsignifie que Type sera défini par sa valeur par défaut, c'est-à-dire par la valeur qu'il prend quand on omet de le définir d'où l'inutilité de la définition de ce paramètre.
mijean94
Messages postés
413
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
12 septembre 2024
11
23 nov. 2016 à 17:54
23 nov. 2016 à 17:54
RE,
Merci pour toute ces explications.
Bien cordialement
Merci pour toute ces explications.
Bien cordialement
23 nov. 2016 à 16:22
Merci pour l'aide, ça fonctionne nickel.
Supprimer les Activate, Select, Selection, ActiveWindow est-il la solution à la création en auto apprentissage ?
le Type:=xlFillDefault a-t-il une utilité ?
Bien cordialement