Rechercher : dans
Par :

Macro excel insertion ligne dans fichier

Dernière réponse le 23 aoû 2007 à 11:39:23 gigi1981, le 23 aoû 2007 à 10:01:05 
 Signaler ce message aux modérateurs

Bonjour à tous

j'ai un souci dans une macro excel:
je voudrais aller à la ligne en dessous la derniére d'un tableau et ensuite y inserer 2 lignes entières

j'ai écrit un code mais il y a un bug que je n'arrive pas à résoudre, étant débutant

quelqu'un pourrait il m'apporter de l'aide s'il vous plait?

voici le code:

Sub insererligne()

ligne = Range("C7").End(xlDown).Row +1
Rows("&ligne&" ":" "&ligne&" ).Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown

End Sub

le problème est dans la ligne de Rows(...
je n'arrive pas à lui indiquer que je veux selectionner la ligne entiere qui m'a été donnée par l'instruction precedente et que j ai mise dans la variable ligne. D'ailleurs, quel type doit avoir cette variable?

Merci pour vos reponses

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « macro excel insertion ligne dans fichier » dans :
Exécuter une macro VoirExécuter une macro Excel et Calc proposent plusieurs façons d’exécuter une macro : en la sélectionnant dans une liste, dans la boîte de dialogue Macro ; par un raccourci clavier ; en l’attachant à un bouton de la barre d’outils ; ...

1

Chricky_80, le 23 aoû 2007 à 11:32:09

Essayes un truc comme ca :

Sub insererligne()

ligne = 0 'initialisation de la variable

Do
ligne = ligne + 1 'incrementation de ligne
contenu = Cells(ligne, 1) 'charge en mémoir le contenu de la cellule (ligne,1) dans la variable Contenu
Loop Until contenu = "" 'Boucle sur do jusqu'a ce que la variable contenu soit vide
Cells(ligne, 1).Select ' se positionne sur la cellule (ligne, 1)

Selection.EntireRow.Insert 'insertion ligne
Selection.EntireRow.Insert 'insertion ligne

End Sub

Répondre à Chricky_80

2

 Chricky_80, le 23 aoû 2007 à 11:39:23

Sinon ton programme était correct, il faut juste remplacer la ligne :

Rows("&ligne&" ":" "&ligne&" ).Select

par :

Cells(ligne, 1).Select

PS : attention dans le code que je t'ai donné au dessus, le controle des ligne se fait a partir de la cellule A1. Pour commencer à partir de la cellule C7, il faut :

* initialiser la variable ligne à 6
* rempacer Cells(ligne, 1) par Cells(ligne, 3)

A+

Répondre à Chricky_80