Excel : étendre une macro
Fermé
Captain_Dunliver
Messages postés
4
Date d'inscription
lundi 18 février 2013
Statut
Membre
Dernière intervention
19 février 2013
-
18 févr. 2013 à 18:36
snotlingate Messages postés 17 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 7 décembre 2013 - 19 févr. 2013 à 22:24
snotlingate Messages postés 17 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 7 décembre 2013 - 19 févr. 2013 à 22:24
A voir également:
- Excel : étendre une macro
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
7 réponses
snotlingate
Messages postés
17
Date d'inscription
lundi 18 février 2013
Statut
Membre
Dernière intervention
7 décembre 2013
Modifié par snotlingate le 18/02/2013 à 21:45
Modifié par snotlingate le 18/02/2013 à 21:45
J'ai quelque notions de VBA mais pour t'aider il faut que je saisisse correctement ce que tu souhaite réaliser. Tu veux copier une colonne?/une ligne?/une cellule? de ta feuille 1 vers la feuille 2. Au mieux pour l'instant tu peux essayer avec :
- Columns ("C:C").Select ..................où la lettre "C" est ta colonne
-Selection.Copy
-Sheets("Feuille 2").select
-Range("A1).select
-ActiveSheet.Paste
ou sinon tu peux essayer avec la ligne :
- Rows("1:1").Select......................tu peux remplacer "1" par le numéro de ta ligne
-Selection.Copy
-Sheets("Feuille 2").select
-Range("A1).select
-ActiveSheet.Paste
Et pour tester ta macro n'oubli pas "Application.ScreenUpdating = False" au début et "Application.ScreenUpdating = true" à la fin ça annule le rafraîchissement de l'écran puits le remet tu gagneras du temps et pour voir les actions de macro fait F8 ou pas à pas
- Columns ("C:C").Select ..................où la lettre "C" est ta colonne
-Selection.Copy
-Sheets("Feuille 2").select
-Range("A1).select
-ActiveSheet.Paste
ou sinon tu peux essayer avec la ligne :
- Rows("1:1").Select......................tu peux remplacer "1" par le numéro de ta ligne
-Selection.Copy
-Sheets("Feuille 2").select
-Range("A1).select
-ActiveSheet.Paste
Et pour tester ta macro n'oubli pas "Application.ScreenUpdating = False" au début et "Application.ScreenUpdating = true" à la fin ça annule le rafraîchissement de l'écran puits le remet tu gagneras du temps et pour voir les actions de macro fait F8 ou pas à pas
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
18 févr. 2013 à 22:32
18 févr. 2013 à 22:32
Bonjour,
Ce que tu dis ne colle pas vraiment, en gros
Tu copie B7, D7, F7 (données en ligne)
Tu colle sur A5, A6, A7 (données en colonnes)
Comment tu veux continuer ?
A+
Ce que tu dis ne colle pas vraiment, en gros
Tu copie B7, D7, F7 (données en ligne)
Tu colle sur A5, A6, A7 (données en colonnes)
Comment tu veux continuer ?
A+
C'est un exemple, je pourrai très bien copier toute la ligne et coller les données sur une autre ligne, en colonne ou même disperser sur une autre feuille.
Ce que je souhaite faire :
1 - copier la macro en ligne 7 et la coller en ligne 8
2- la macro en ligne 8, une fois activée, copiera les données de la ligne 8 vers la feuille 2 et non de la ligne 7 vers la feuille 2.
C'est pas évident d'être explicite,
Merci d'avance d'essayer de me décoder :)
Bonne soirée
Ce que je souhaite faire :
1 - copier la macro en ligne 7 et la coller en ligne 8
2- la macro en ligne 8, une fois activée, copiera les données de la ligne 8 vers la feuille 2 et non de la ligne 7 vers la feuille 2.
C'est pas évident d'être explicite,
Merci d'avance d'essayer de me décoder :)
Bonne soirée
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 18/02/2013 à 23:19
Modifié par lermite222 le 18/02/2013 à 23:19
C'est pas évident d'être explicite,
Là tu l'a dis... :-)
Poste un exemple de ce que tu veux faire avec..
En feuille 1 une dizaine de lignes que tu veux copier
En feuille 2 le résultat souhaiter.
Tu peu le déposer sur https://www.cjoint.com/ par exemple
Edit : Et pas des exemple avec des je pourrais bien.. NON de VRAIS exemples
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Là tu l'a dis... :-)
Poste un exemple de ce que tu veux faire avec..
En feuille 1 une dizaine de lignes que tu veux copier
En feuille 2 le résultat souhaiter.
Tu peu le déposer sur https://www.cjoint.com/ par exemple
Edit : Et pas des exemple avec des je pourrais bien.. NON de VRAIS exemples
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Captain_Dunliver
Messages postés
4
Date d'inscription
lundi 18 février 2013
Statut
Membre
Dernière intervention
19 février 2013
2
19 févr. 2013 à 12:43
19 févr. 2013 à 12:43
Alors je souhaite copier plusieurs cellules d'une ligne(pas toute la ligne) et les coller sur une autre feuille.
Je ne rencontre pas de difficulté à créer une macro mais à la reproduire sur les lignes en dessous de façon à ce qu'elle copie les cellules de la ligne sur laquelle le bouton avec la macro intégrée se trouve.
à la manière d'une formule en fait : la recopie vers le bas d'une formule permet d'adapter la formule en fonction de la cellule dans laquelle elle se trouve.
Exemple : en A1 : =somme(A1:A10)
si je recopie la formule vers le bas, j'aurai alors :
B1 : =somme(B1:B10)
C1 : =somme(C1:C10)
etc...
La question centrale de ce sujet est : peut on recopier une macro à la manière d'une formule (comme ci-dessus) ?
Merci d'avance
Je ne rencontre pas de difficulté à créer une macro mais à la reproduire sur les lignes en dessous de façon à ce qu'elle copie les cellules de la ligne sur laquelle le bouton avec la macro intégrée se trouve.
à la manière d'une formule en fait : la recopie vers le bas d'une formule permet d'adapter la formule en fonction de la cellule dans laquelle elle se trouve.
Exemple : en A1 : =somme(A1:A10)
si je recopie la formule vers le bas, j'aurai alors :
B1 : =somme(B1:B10)
C1 : =somme(C1:C10)
etc...
La question centrale de ce sujet est : peut on recopier une macro à la manière d'une formule (comme ci-dessus) ?
Merci d'avance
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
19 févr. 2013 à 14:38
19 févr. 2013 à 14:38
Re,
Puisque tu veux pas mettre un exemple...
Voir avec les fonctions personnalisées.
A+
Puisque tu veux pas mettre un exemple...
Voir avec les fonctions personnalisées.
A+
snotlingate
Messages postés
17
Date d'inscription
lundi 18 février 2013
Statut
Membre
Dernière intervention
7 décembre 2013
Modifié par snotlingate le 19/02/2013 à 22:27
Modifié par snotlingate le 19/02/2013 à 22:27
Bon d'après ce que j'ai compris tu pourrais faire cela :
tu dimensionnes une variable "a" en nombre, sa donne : dim a as integer
puis : a=0
tu sélectionnes ta cellule de départ par exemple B5 mais tu n'écris pas Range(... mais tu écris cells(a+5:2) : explication a+5 correspond au numéro de la ligne et le 2 à la colonne B
il ne te reste plus qu'à exécuter une boucle en ajoutant 1 à "a" a chaque fois
et si c'est une histoire de gain de temps et non d'automatisation incrémente ! =)
tu dimensionnes une variable "a" en nombre, sa donne : dim a as integer
puis : a=0
tu sélectionnes ta cellule de départ par exemple B5 mais tu n'écris pas Range(... mais tu écris cells(a+5:2) : explication a+5 correspond au numéro de la ligne et le 2 à la colonne B
il ne te reste plus qu'à exécuter une boucle en ajoutant 1 à "a" a chaque fois
et si c'est une histoire de gain de temps et non d'automatisation incrémente ! =)