Insertion de lignes grâce à une macro

morganSOCO

XLDnaute Junior
Bonjour à tous =)

Je suis ici pour créer une macro (ou plutôt modifier) qui permet d'ajouter des lignes !
J'en ai déjà une de faite sur un logiciel et je souhaiterai l'adapter à un autre logiciel malheureusement je n'y arrive pas moi même car les formules sont différentes, le nombre de cases aussi etc ...

Je viens donc ici appeler au secours ! Je vous joins l'arrêté actuel (qui a déjà la macro) et le futur arrêté (qui aurait bien besoin de la même macro)

Merci d'avance de votre aide précieuse =)
 

Pièces jointes

  • Arrêté actuel.xls
    117 KB · Affichages: 35
  • Arrêté actuel.xls
    117 KB · Affichages: 34
  • Arrêté actuel.xls
    117 KB · Affichages: 34
  • base.xls
    84.5 KB · Affichages: 34
  • base.xls
    84.5 KB · Affichages: 42
  • base.xls
    84.5 KB · Affichages: 40
Dernière édition:

morganSOCO

XLDnaute Junior
Re : Insertion de lignes grâce à une macro

Re,

je pensais qu'avec l'arrêté où la macro fonctionne ce serait assez clair.
En gros, j'aimerais que quand je mes le chiffre 2 dans "nombres d'infrastructures" il y est 2 lignes pour NORD, 2 pour EST, 2 pour SUD et 2 pour OUEST, que les formules se mettent automatiquement dans les cases adéquates, et que les bordures aussi.

Je joins un exemple que j'ai essayé de modifier pour avoir la bonne macro sur la base mais il y a encore un soucis ...
 

Pièces jointes

  • base2.xls
    111 KB · Affichages: 36
  • base2.xls
    111 KB · Affichages: 50
  • base2.xls
    111 KB · Affichages: 36

morganSOCO

XLDnaute Junior
Re : Insertion de lignes grâce à une macro

Je peux effectivement être amenée à l'étendre plusieurs fois. En fait, j'aimerai que la macro fasse exactement comme pour l'arrêté actuel. c'est pour cela que j'ai mis les 2, afin de ne pas repartir de 0.
 

eriiic

XLDnaute Barbatruc
Re : Insertion de lignes grâce à une macro

re,

c'est pour cela que j'ai mis les 2, afin de ne pas repartir de 0.
Des fois on n'a pas envie de tout lire et envie de reprendre à 0, c'est souvent plus simple ;-)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim nbLigBatiment As Long, nbLigAjout As Long, lig As Long
    Const lig1 As Long = 12 ' 1ère ligne des façades
    '
    If Target.Cells.Count > 1 Then Exit Sub
    If Target <> [L5] Then Exit Sub
    '
    nbLigBatiment = Application.CountIf([A:A], "NORD")
    nbLigAjout = [L5] - nbLigBatiment
    ' contrôle
    If nbLigAjout < 1 Then
        MsgBox ("On ne peut qu'ajouter des lignes")
        Application.EnableEvents = False
        [L5] = nbLigBatiment
        Application.EnableEvents = True
        Exit Sub
    End If
    ' insérer les lignes
    Application.Calculation = xlManual
    For lig = lig1 + nbLigBatiment * 4 - 1 To lig1 Step -nbLigBatiment
        Rows(lig).Copy
        Rows(lig & ":" & lig + nbLigAjout - 1).Insert Shift:=xlDown
    Next lig
    Application.Calculation = xlAutomatic
    Application.CutCopyMode = False
End Sub

Regarde si ça colle...
Pour connaitre le Nombre d'infrastructures je me base sur le nombre de NORD en colonne A. Evite d'y inscrire ce mot en plus.

Il y a encore un petit pb que je n'ai jamais rencontré : au 1er lancement une fenêtre 'exécution interrompue' s'ouvre, il suffit de faire 'Continuer'.
Je ne vois pas trop à quoi c'est dû, peut-être que qcq'un d'autre aura une idée...

eric
 

Pièces jointes

  • base-4.xls
    81.5 KB · Affichages: 32

morganSOCO

XLDnaute Junior
Re : Insertion de lignes grâce à une macro

Re,

Merci beaucoup ! Ca fonctionne bien oui ! Mais le soucis est que si je passe de 5 lignes à 4 il y a écrit "on ne peut qu'ajouter des lignes" ... J'aimerais pouvoir passer de 5 à 4 sans problème .
 

Efgé

XLDnaute Barbatruc
Re : Insertion de lignes grâce à une macro

Bonjour morganSOCO, eriiiic , Une proposition basée sur ton fil précédent et juste pour finir avec le sujet:
VB:
http://www.excel-downloads.com/forum/184972-modification-macro-pour-excel-2003-a-2.html#post1143747
Avec les couleurs , les cellules fusionnées, etc... Cordialement
 

Pièces jointes

  • Copie de base2(1).xls
    86.5 KB · Affichages: 38

morganSOCO

XLDnaute Junior
Re : Insertion de lignes grâce à une macro

Bonjour Efgé,

Ta proposition est intéressante mais le problème est que quand je rentre un chiffre et appuie sur entrée toute les valeurs qui se calculent automatiquement se mettent à 0 (isolement par infrastructure terrestre, isolement global).

Merci de ton aide =)
 

eriiic

XLDnaute Barbatruc
Re : Insertion de lignes grâce à une macro

Re,

J'aimerais pouvoir passer de 5 à 4 sans problème
Je n'avais pas vu ça...

@efgé : bonjour, il semble également que sur ta version, sur une suppression de ligne, la 1ère écrase les suivantes et fait perdre des données.

Version modifiée ci-joint
Je ne fais aucun contrôle sur les lignes supprimées. Vides ou pleines elle sautent.

eric
 

Pièces jointes

  • base-5.xls
    82 KB · Affichages: 40

morganSOCO

XLDnaute Junior
Re : Insertion de lignes grâce à une macro

Re,

Eh bien il me semble que ca fonctionne parfaitement bien ! Je le montre dès demain à mon chef et j'espère qu'il n'y verra pas de problème mais il ne me semble pas !
Merci à tous =D

Bonne soirée =)
A bientôt sur XLD
 

Discussions similaires

Statistiques des forums

Discussions
312 378
Messages
2 087 760
Membres
103 660
dernier inscrit
205 Peugeot