Insertion d'une ligne avec une macro

manue16

XLDnaute Nouveau
Bonjour,
J'ai fait une macro et j'aimerai savoir si après avoir fait ma macro je peux sauté un ligne?
Merci ;)
 

Excel-lent

XLDnaute Barbatruc
Re : Insertion d'une ligne avec une macro

Bonjour Manue16, Hasco

Non, tu dois le faire toi même (sauter une ligne).

Pour sauter une ligne, comme dans tout logiciel de traitement de texte il faut placer ton curseur à la fin de la ligne, puis cliquer sur la touche "Enter" aussi appelé parfois "Entrée".

Si tu veux sauter plusieurs lignes, cliquer sur la touche "Enter" autant de fois que nécessaire.

Pour information, pour que ton code soit bien présenter, n'hésite pas à mettre également des retraits de lignes. Pour cela utiliser la touche "tabulation" ou la touche "espace". Cela te permettra d'avoir un code plus aéré, mieux structuré, donc plus facile à relire et comprendre

Bonne après midi
 

manue16

XLDnaute Nouveau
Re : Insertion d'une ligne avec une macro

Ce que je voulais savoir c'est est ce qu'il existe un code pour la macro qui ferai sauté une ligne a chaque fois ?
Pour l'instant quand j'exécute ma macro qui fait un copié coller d'une ligne pour la coller dans un tableau, elle supprime la dernière ligne de mon tableau pour la coller. Au lieu de rajouter une ligne ..! :confused:
 

Excel-lent

XLDnaute Barbatruc
Re : Insertion d'une ligne avec une macro

Bonjour Manue16,

Excuse, comme tu t'étais exprimé, nous avions compris que tu voulais sauter une(des) ligne(s) dans le code de ta macro et non pas sur ta feuille Excel.

Pour cela il existe différentes méthodes! Tout dépend de ta macro!

Cas n° 1:
Insérer une ligne entre les deux tableaux
Rows(numéro de ta ligne).Insert

Cas n° 2:
Dans ta macro, le numéro de la ligne est représenté par une variable, que tu modifie (incrémente, décrémente ou ...) au fur et à mesure de ton code.

Dans ce cas il te suffit d'écrire :

NuméroLigne = NuméroLigne + 1

Cas n° 3:

...

A te lire, a priori ta macro doit normalement correspondre au second cas. Solution à adapter. Si tu n'y parviens pas, merci de nous envoyer un morceau de ton fichier ainsi que la macro.

Bonne après midi
Cordialement
 

manue16

XLDnaute Nouveau
Re : Insertion d'une ligne avec une macro

Bonjour,
Si je comprend bien à la fin de ma macro pour qu'elle saute une ligne automatiquement pour la suivante je dois mettre :NuméroLigne = NuméroLigne + 1 !
Voici ma macro pour mieux comprendre :
Sub Macro1()
'
' Macro1 Macro
'

'
Range("A2").Select
Workbooks.Open Filename:= _
"N:\LE FLOCH\06 COMMANDE\BC_2012\CDE 2012 modèle.xls", UpdateLinks:=0
Range("B4").Select
ActiveCell.FormulaR1C1 = "='[Copie de BASES DE DONNEES.xls]C MACRO'!R2C8"
Range("D8").Select
ActiveCell.FormulaR1C1 = "='[Copie de BASES DE DONNEES.xls]C MACRO'!R2C2"
Range("A18").Select
ActiveCell.FormulaR1C1 = "='[Copie de BASES DE DONNEES.xls]C MACRO'!R2C9"
Range("B18").Select
ActiveCell.FormulaR1C1 = "='[Copie de BASES DE DONNEES.xls]C MACRO'!R2C1"
Range("B23:D23").Select
ActiveCell.FormulaR1C1 = "='[Copie de BASES DE DONNEES.xls]C MACRO'!R2C3"
Range("E23").Select
ActiveCell.FormulaR1C1 = "='[Copie de BASES DE DONNEES.xls]C MACRO'!R2C7"
Range("E24").Select
NuméroLigne = NuméroLigne + 1
End Sub
 

Excel-lent

XLDnaute Barbatruc
Re : Insertion d'une ligne avec une macro

Bonjour Manue16,

Ta macro est bizarre! Il ne manque pas une partie? Car dans la macro tu te contente de sélectionner la zone ..., puis la zone ..., puis ... mais à aucun moment tu la copie. Et en plus tu ne colle cette zone nul part.

Dans mon esprit ta macro était plutôt écrite de la façon suivante :

Déclaration de ta variable "NuméroLigne"


-> code : NuméroLigne = 2 pour le cas où tu souhaite commencer à la seconde ligne (sous entendu ta première ligne contient les titres de colonnes)
-> sélectionner le tableau A2:C50 (sous entendu ton tableau fait 49 lignes)
-> copier le tableau
-> sélectionner la première ligne vide de ta feuille "destination" situé dans le fichier ...
-> coller le tableau
-> NuméroLigne = NuméroLigne + 49 + 1
=> 49 (car le tableau collé fait 49 lignes)
=> 1 (car tu veux sauter une ligne entre chaque tableau)

Bonne après midi
Cordialement
 

manue16

XLDnaute Nouveau
Re : Insertion d'une ligne avec une macro

Oups ...:eek: Désolé je n'ais pas donné la bonne macro ! :eek:

Sub Macro3()
'
' Macro3 Macro
'

'
Range("A2:J2").Select
Selection.Cut
Sheets("COMMANDES ").Select
ActiveSheet.Paste
Range("A458").Select
End Sub

Cette macro sert à couper un ligne qui est dans la feuille C MACRO pour allé la collé dans mon tableau de Bon de commande. Mais le probléme c'est que aprés avoir fait la manip une fois la deuixième fois au lieu que la ligne se coller en-dessous de la première elle se colle dessus.

Cordialement
 
G

Guest

Guest
Re : Insertion d'une ligne avec une macro

bonsoir Manu,

Cette macro coupera A2:J2 pour le copier dans la premières ligne disponible de la colonne A de la feuille COMMANDES

Code:
Sub Macro3()
'
' Macro3 Macro
'
'
Range("A2:J2").Cut
Sheets("COMMANDES").Paste Sheets("COMMANDES").Cells(Rows.Count, 1).End(xlUp)(2)
End Sub

A+
 

manue16

XLDnaute Nouveau
Re : Insertion d'une ligne avec une macro

Désolé mais sa ne marche pas quand j'exécute la macro sa me met:

Erreur d'exécution '9' :
L'indice n'appartient pas à la sélection.

Quand je fais débogage sa me met la ligne :
Sheets("COMMANDES").Paste Sheets("COMMANDES").Cells(Rows.Count, 1).End(xlUp)(2)
Qui se surligne en jaune ...

Comment faire ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 796
Messages
2 092 205
Membres
105 275
dernier inscrit
VBE