Insertion et copie macro Excel [Résolu]

Signaler
Messages postés
7
Date d'inscription
mardi 23 septembre 2008
Statut
Membre
Dernière intervention
25 septembre 2008
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour,

Je souhaite par une macro Excel, modifier mon fichier. J'ai très peu de connaissance VB 6, et je n'arrive pas à finaliser ma macro.
Lorsque ma colonne E commence par 6 j'insère une ligne en dessous, ça, j'y arrive  :
  Dim lig As Long
  Range("E2").Select
  reprise:
 ActiveCell.Offset(1, 0).Select
 If Len(ActiveCell) = 0 Then Exit Sub
 If Left(ActiveCell.Value, 1) = "6" Then
 ActiveCell.Rows("2:2").EntireRow.Insert Shift:=xlDown
 ActiveCell.Offset(1, 0).Select
 End If
 GoTo reprise

Mais je veux ensuite que ma ligne où il y a le 6, se copie sur la ligne que je viens d'insérer et qu'il me "saisisse" sur cette même ligne dans la colonne G : "Toto".
Et là je bloque sur la copie de ma ligne !!!

Merci de votre aide

5 réponses

Messages postés
372
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
22 juillet 2013
1
Bonjour ,

Voici pour la copy dela ligne:

  Dim lig As Long
 
  Range("E2").Select
reprise:
 ActiveCell.Offset(1, 0).Select
 If Len(ActiveCell) = 0 Then Exit Sub
 If Left(ActiveCell.Value, 1) = "6" Then
 ActiveCell.Rows("2:2").EntireRow.Insert Shift:=xlDown
 'Copie de toute la ligne
 Range("a" & ActiveCell.Row & ":" & "iv" & ActiveCell.Row).Copy _
 Range("a" & ActiveCell.Row + 1 & ":" & "iv" & ActiveCell.Row + 1)
 
 ActiveCell.Offset(1, 0).Select
 End If
 GoTo reprise
-------------------------------------------------

A++
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

en plus simple et plus court :

  Dim lig As Long
  Range("E2").Select
  reprise:
     ActiveCell.Offset(1, 0).Select
     If Len(ActiveCell.Value) = 0 Then Exit Sub
     If Left(ActiveCell.Value, 1) = "6" Then
         Rows(ActiveCell.Row).Copy 'copie de la ligne de la cellule active
         Rows("2").Insert Shift:=xlDown 'insertion et collage simultané
         ActiveCell.Offset(1, 0).Select
     End If
 GoTo reprise

A+
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
47
Salut,
>[../auteur/CATBOU/1481804.aspx catbou] : Si tu estimes que ton problème est résolu, penses à appuyer sur réponse acceptée sur le OU les posts qui t'ont aider à avancer.

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
7
Date d'inscription
mardi 23 septembre 2008
Statut
Membre
Dernière intervention
25 septembre 2008

Merci, c'est super génial ça marche. Je vais utiliser la seconde réponse qui est plus simple.
Messages postés
7
Date d'inscription
mardi 23 septembre 2008
Statut
Membre
Dernière intervention
25 septembre 2008

Merci, c'est super génial ça marche.
J'avais essayé cette solution mais en mettant ma ligne de copie après Activecell.offset et rien ne se passait....