Quelqu'un parmi vous aurait-il la gentillesse de m'aider à ajouter une
boucle (je crois que cela s'appelle comme çà?) aux 2 macros suivantes?
1ere macro : J'aimerai pouvoir avoir une macro qui puisse copier la cellule
A1 puis se mettre en attente en B1.
Puis lorsque la macro doit est relancée, elle devrait faire le même travail
mais en descendant d'une ligne. C'est à dire: dans l'exemple: copier la
cellule A2 puis se mettre en attente en B2,...
Après essai ds Excel voici le mauvais résultat que j'obtiens:
Sub 1()
Range("A1").Select
Selection.Copy
Range("B1").Select
End Sub
2nde macro : Coller (ce qu'il a en mémoire) là ou la cellule est active (par
exemple ex:C1). Puis descendre d'une ligne (C2) et aller sur la gauche (B2).
nb: là je ne pense pas qu'il soit nécessaire d'inclure la cellule C1 de mon
exemple?
Après essai ds Excel voici le mauvais résultat que j'obtiens:
Sub 2()
ActiveSheet.Paste
Range("B2").Select
End Sub
où veux tu copier le contenu de ta cellule A1 ? En B2. Merci ;)
anomymousA
Bonjour, typo
Ce que tu demandes peut être décrit de manière assez générale par comment puis-je copier quelque chose qui est dans une cellule vers une autre cellule et/ou comment puis-je me déplacer vers une cellule ?
Dans le principe, l'instruction pour copier s'appelle "copy". Il existe de multilples façons de copier ( pour t'en convaincre fais manuellement la séquence Excel "Copier/Coller/Collage Spécial"). Dans l'exemple de syntaxe suivant, on copiera tout (valeurs/formules/formats...) d'une cellule vers l'autre. SI tu écris Range("A1").copy Range("A2"), tu demandes à Excel de copier dans la même feuille dans la cellule A2 ce que contient la cellule A1 ainsi que son contenant (formats essentiellement).tu n'as pas besoin de te déplacer vers A1 puis de selectionner A1 pour copier puis de se déplacer vers A2 , de selectionner A2 , puis de coller. L'instruction copy fait la copie sans déplacemnt physique si j'ose dire.
Si tu veux te déplacer quelque part sur une feuille , il faut dire à Excel où tu veux aller et ce que tu veux faire. Pour celà , utilises p.e Range("C1").activate. En écrivant cette instruction, tu dis à Excel de se déplacer vers la cellule C1 et d'y rester.
A partir des instructions précédentes, tu peux déjà faire des choses. Mais tu en apprendras bien plus si tu utilises l'enregistreur automatique de Macros qui traduit grosso modo en langage VBA ce que tu fais manuellement avec ta souris et ton clavier.
Bon courage et à + si besoin.
Bonjour,
Quelqu'un parmi vous aurait-il la gentillesse de m'aider à ajouter une boucle (je crois que cela s'appelle comme çà?) aux 2 macros suivantes?
1ere macro : J'aimerai pouvoir avoir une macro qui puisse copier la cellule A1 puis se mettre en attente en B1. Puis lorsque la macro doit est relancée, elle devrait faire le même travail mais en descendant d'une ligne. C'est à dire: dans l'exemple: copier la cellule A2 puis se mettre en attente en B2,...
Après essai ds Excel voici le mauvais résultat que j'obtiens: Sub 1() Range("A1").Select Selection.Copy Range("B1").Select End Sub
2nde macro : Coller (ce qu'il a en mémoire) là ou la cellule est active (par exemple ex:C1). Puis descendre d'une ligne (C2) et aller sur la gauche (B2). nb: là je ne pense pas qu'il soit nécessaire d'inclure la cellule C1 de mon exemple?
Après essai ds Excel voici le mauvais résultat que j'obtiens: Sub 2() ActiveSheet.Paste Range("B2").Select End Sub
Mille mercis d'avance, Typo
Bonjour, typo
Ce que tu demandes peut être décrit de manière assez générale par comment
puis-je copier quelque chose qui est dans une cellule vers une autre cellule
et/ou comment puis-je me déplacer vers une cellule ?
Dans le principe, l'instruction pour copier s'appelle "copy". Il existe de
multilples façons de copier ( pour t'en convaincre fais manuellement la
séquence Excel "Copier/Coller/Collage Spécial").
Dans l'exemple de syntaxe suivant, on copiera tout
(valeurs/formules/formats...) d'une cellule vers l'autre.
SI tu écris Range("A1").copy Range("A2"), tu demandes à Excel de copier dans
la même feuille dans la cellule A2 ce que contient la cellule A1 ainsi que
son contenant (formats essentiellement).tu n'as pas besoin de te déplacer
vers A1 puis de selectionner A1 pour copier puis de se déplacer vers A2 , de
selectionner A2 , puis de coller. L'instruction copy fait la copie sans
déplacemnt physique si j'ose dire.
Si tu veux te déplacer quelque part sur une feuille , il faut dire à Excel
où tu veux aller et ce que tu veux faire.
Pour celà , utilises p.e Range("C1").activate. En écrivant cette
instruction, tu dis à Excel de se déplacer vers la cellule C1 et d'y rester.
A partir des instructions précédentes, tu peux déjà faire des choses. Mais
tu en apprendras bien plus si tu utilises l'enregistreur automatique de
Macros qui traduit grosso modo en langage VBA ce que tu fais manuellement
avec ta souris et ton clavier.
Bon courage et à + si besoin.
Bonjour,
Quelqu'un parmi vous aurait-il la gentillesse de m'aider à ajouter une
boucle (je crois que cela s'appelle comme çà?) aux 2 macros suivantes?
1ere macro : J'aimerai pouvoir avoir une macro qui puisse copier la cellule
A1 puis se mettre en attente en B1.
Puis lorsque la macro doit est relancée, elle devrait faire le même travail
mais en descendant d'une ligne. C'est à dire: dans l'exemple: copier la
cellule A2 puis se mettre en attente en B2,...
Après essai ds Excel voici le mauvais résultat que j'obtiens:
Sub 1()
Range("A1").Select
Selection.Copy
Range("B1").Select
End Sub
2nde macro : Coller (ce qu'il a en mémoire) là ou la cellule est active (par
exemple ex:C1). Puis descendre d'une ligne (C2) et aller sur la gauche (B2).
nb: là je ne pense pas qu'il soit nécessaire d'inclure la cellule C1 de mon
exemple?
Après essai ds Excel voici le mauvais résultat que j'obtiens:
Sub 2()
ActiveSheet.Paste
Range("B2").Select
End Sub
Ce que tu demandes peut être décrit de manière assez générale par comment puis-je copier quelque chose qui est dans une cellule vers une autre cellule et/ou comment puis-je me déplacer vers une cellule ?
Dans le principe, l'instruction pour copier s'appelle "copy". Il existe de multilples façons de copier ( pour t'en convaincre fais manuellement la séquence Excel "Copier/Coller/Collage Spécial"). Dans l'exemple de syntaxe suivant, on copiera tout (valeurs/formules/formats...) d'une cellule vers l'autre. SI tu écris Range("A1").copy Range("A2"), tu demandes à Excel de copier dans la même feuille dans la cellule A2 ce que contient la cellule A1 ainsi que son contenant (formats essentiellement).tu n'as pas besoin de te déplacer vers A1 puis de selectionner A1 pour copier puis de se déplacer vers A2 , de selectionner A2 , puis de coller. L'instruction copy fait la copie sans déplacemnt physique si j'ose dire.
Si tu veux te déplacer quelque part sur une feuille , il faut dire à Excel où tu veux aller et ce que tu veux faire. Pour celà , utilises p.e Range("C1").activate. En écrivant cette instruction, tu dis à Excel de se déplacer vers la cellule C1 et d'y rester.
A partir des instructions précédentes, tu peux déjà faire des choses. Mais tu en apprendras bien plus si tu utilises l'enregistreur automatique de Macros qui traduit grosso modo en langage VBA ce que tu fais manuellement avec ta souris et ton clavier.
Bon courage et à + si besoin.
Bonjour,
Quelqu'un parmi vous aurait-il la gentillesse de m'aider à ajouter une boucle (je crois que cela s'appelle comme çà?) aux 2 macros suivantes?
1ere macro : J'aimerai pouvoir avoir une macro qui puisse copier la cellule A1 puis se mettre en attente en B1. Puis lorsque la macro doit est relancée, elle devrait faire le même travail mais en descendant d'une ligne. C'est à dire: dans l'exemple: copier la cellule A2 puis se mettre en attente en B2,...
Après essai ds Excel voici le mauvais résultat que j'obtiens: Sub 1() Range("A1").Select Selection.Copy Range("B1").Select End Sub
2nde macro : Coller (ce qu'il a en mémoire) là ou la cellule est active (par exemple ex:C1). Puis descendre d'une ligne (C2) et aller sur la gauche (B2). nb: là je ne pense pas qu'il soit nécessaire d'inclure la cellule C1 de mon exemple?
Après essai ds Excel voici le mauvais résultat que j'obtiens: Sub 2() ActiveSheet.Paste Range("B2").Select End Sub
Mille mercis d'avance, Typo
typo
Cher "anomymousA",
Merci pour ces explications. Toutefois :
(...)tu n'as pas besoin de te déplacer vers A1 puis de selectionner A1 pour copier puis de se déplacer vers A2 , de
selectionner A2 , puis de coller. L'instruction copy fait la copie sans déplacemnt physique si j'ose dire.
Oui je m'en suis rendu compte mais je désire explicitement ce que j'ai écris car j'utilise excel en parallele avec un programme automate ("macro magic").
Si tu veux te déplacer quelque part sur une feuille , il faut dire à Excel où tu veux aller et ce que tu veux faire. Pour celà , utilises p.e Range("C1").activate. En écrivant cette instruction, tu dis à Excel de se déplacer vers la cellule C1 et d'y rester.
A partir des instructions précédentes, tu peux déjà faire des choses. Mais tu en apprendras bien plus si tu utilises l'enregistreur automatique de Macros qui traduit grosso modo en langage VBA ce que tu fais manuellement avec ta souris et ton clavier.
Oui merci. C'est le résultat que j'ai montré mais comme j'ai une très longue colonne en A (A1, A2 etc...) je souhaiterai une macro en automatique si possible.
Bon courage et à + si besoin. Merci.
Par déduction , j'ai presque trouvé ma seconde macro gràce à la FAQ mais elle va a droite au lieu de gauche(!) :
Déplace la cellule active d'une ligne vers le bas et deux colonnes vers la droite Sub DeplaceCellActive() ActiveSheet.Paste Dim LigVar, ColVar LigVar = 1 ColVar = 1 Selection.Offset(LigVar, ColVar).Select End Sub
Merci d'avance, typo
Cher "anomymousA",
Merci pour ces explications. Toutefois :
(...)tu n'as pas besoin de te déplacer
vers A1 puis de selectionner A1 pour copier puis de se déplacer vers A2 ,
de
selectionner A2 , puis de coller. L'instruction copy fait la copie sans
déplacemnt physique si j'ose dire.
Oui je m'en suis rendu compte mais je désire explicitement ce que j'ai écris
car j'utilise excel en parallele avec un programme automate ("macro magic").
Si tu veux te déplacer quelque part sur une feuille , il faut dire à Excel
où tu veux aller et ce que tu veux faire.
Pour celà , utilises p.e Range("C1").activate. En écrivant cette
instruction, tu dis à Excel de se déplacer vers la cellule C1 et d'y
rester.
A partir des instructions précédentes, tu peux déjà faire des choses. Mais
tu en apprendras bien plus si tu utilises l'enregistreur automatique de
Macros qui traduit grosso modo en langage VBA ce que tu fais manuellement
avec ta souris et ton clavier.
Oui merci. C'est le résultat que j'ai montré mais comme j'ai une très longue
colonne en A (A1, A2 etc...) je souhaiterai une macro en automatique si
possible.
Bon courage et à + si besoin.
Merci.
Par déduction , j'ai presque trouvé ma seconde macro gràce à la FAQ mais
elle va a droite au lieu de gauche(!) :
Déplace la cellule active d'une ligne vers le bas et deux colonnes vers la
droite
Sub DeplaceCellActive()
ActiveSheet.Paste
Dim LigVar, ColVar
LigVar = 1
ColVar = 1
Selection.Offset(LigVar, ColVar).Select
End Sub
(...)tu n'as pas besoin de te déplacer vers A1 puis de selectionner A1 pour copier puis de se déplacer vers A2 , de
selectionner A2 , puis de coller. L'instruction copy fait la copie sans déplacemnt physique si j'ose dire.
Oui je m'en suis rendu compte mais je désire explicitement ce que j'ai écris car j'utilise excel en parallele avec un programme automate ("macro magic").
Si tu veux te déplacer quelque part sur une feuille , il faut dire à Excel où tu veux aller et ce que tu veux faire. Pour celà , utilises p.e Range("C1").activate. En écrivant cette instruction, tu dis à Excel de se déplacer vers la cellule C1 et d'y rester.
A partir des instructions précédentes, tu peux déjà faire des choses. Mais tu en apprendras bien plus si tu utilises l'enregistreur automatique de Macros qui traduit grosso modo en langage VBA ce que tu fais manuellement avec ta souris et ton clavier.
Oui merci. C'est le résultat que j'ai montré mais comme j'ai une très longue colonne en A (A1, A2 etc...) je souhaiterai une macro en automatique si possible.
Bon courage et à + si besoin. Merci.
Par déduction , j'ai presque trouvé ma seconde macro gràce à la FAQ mais elle va a droite au lieu de gauche(!) :
Déplace la cellule active d'une ligne vers le bas et deux colonnes vers la droite Sub DeplaceCellActive() ActiveSheet.Paste Dim LigVar, ColVar LigVar = 1 ColVar = 1 Selection.Offset(LigVar, ColVar).Select End Sub
Merci d'avance, typo
typo
Eureka pour ma deuxième macro ;-) :
Par déduction , j'ai presque trouvé ma seconde macro gràce à la FAQ mais elle va a droite au lieu de gauche(!) :
Là elle va bien à gauche en mettant -1 au lieu de 1 pourla variable colonne. ;-)
Déplace la cellule active d'une ligne vers le bas et deux colonnes vers la gauche
Sub DeplaceCellActive() ActiveSheet.Paste Dim LigVar, ColVar LigVar = 1 ColVar = -1 Selection.Offset(LigVar, ColVar).Select End Sub
Eureka pour ma deuxième macro ;-) :
Par déduction , j'ai presque trouvé ma seconde macro gràce à la FAQ mais
elle va a droite au lieu de gauche(!) :
Là elle va bien à gauche en mettant -1 au lieu de 1 pourla variable colonne.
;-)
Déplace la cellule active d'une ligne vers le bas et deux colonnes vers la
gauche
Sub DeplaceCellActive()
ActiveSheet.Paste
Dim LigVar, ColVar
LigVar = 1
ColVar = -1
Selection.Offset(LigVar, ColVar).Select
End Sub
Par déduction , j'ai presque trouvé ma seconde macro gràce à la FAQ mais elle va a droite au lieu de gauche(!) :
Là elle va bien à gauche en mettant -1 au lieu de 1 pourla variable colonne. ;-)
Déplace la cellule active d'une ligne vers le bas et deux colonnes vers la gauche
Sub DeplaceCellActive() ActiveSheet.Paste Dim LigVar, ColVar LigVar = 1 ColVar = -1 Selection.Offset(LigVar, ColVar).Select End Sub
typo
Saltu à tous de nouveau, J'ai trouvé une façon plus simple pour ma premiere macro (ma demande en fait était en fait trop complexe pour mes besoins! Et le fait de trouver une solution à la deuxième macro m'a aidé pour la première). :-)
Mille mercis à ceux qui m'ont lu et aidé. ;-) typo
Saltu à tous de nouveau,
J'ai trouvé une façon plus simple pour ma premiere macro (ma demande en fait
était en fait trop complexe pour mes besoins! Et le fait de trouver une
solution à la deuxième macro m'a aidé pour la première). :-)
Mille mercis à ceux qui m'ont lu et aidé. ;-)
typo
Saltu à tous de nouveau, J'ai trouvé une façon plus simple pour ma premiere macro (ma demande en fait était en fait trop complexe pour mes besoins! Et le fait de trouver une solution à la deuxième macro m'a aidé pour la première). :-)
Mille mercis à ceux qui m'ont lu et aidé. ;-) typo