Insertion auto de ligne en dessous (...)

FLoky -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Le tableau sur lequel je travail est composé de 19 colonnes (jusqu'à U, A et B servant de titre...) pour n lignes remplies à chaque appel traité (boîte de phoning...)
Les lignes débutent en 2, la première servant elle aussi de titre.
Ma derniere ligne donne évidement les sommes et moyennes de chaque colonnes.

Je souhaiterais mettre en place une macro (je débute depuis qq heures :-( ) qui me permettrai d'insérer automatiquement une ligne en plus, dès que je commence à saisir la première cellule en colonne C, et ainsi de suite à chaque ligne...

Je cherche depuis des heures sur des forums, sans résultats, même des macro où les n° de lignes/colonnes serait à modifier...

merci pour votre aide précieuse !

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Cette macro insère une ligne lors d'un double clic sur la cellule C2 :
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = "$C$2" And Target.Count = 1 Then
    Selection.EntireRow.Insert
    End If
    End Sub

    - ALT+F11 ---> ouvre une fenêtre Visual Basic
    - En haut à gauche, tu as la liste de tes feuilles, double clic sur celle concernée par cette modification.
    - Copie/Colle le code ci-dessus
    - ferme la fenêtre Visual Basic
    - Teste en double cliquant sur C2...
    0
  2. FLoky
     
    Bonjour !

    Un énooorme merci, même si j'aurai préféré une incrémentat° auto, sans double cliquer... Mais encore une fois, merci encore !
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Bonjour,
      Si le double clic ne vous sied guère, vous pouvez utiliser l'évènement SelectionChange, qui a chaque fois que vous sélectionnez une cellule se déclenche. Remplacez le code donné ci-dessus par celui-ci :
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.Address = "$C$2" And Target.Count = 1 Then
      Selection.EntireRow.Insert
      End If
      End Sub


      L'avantage du double clic réside dans la volonté de vouloir insérer une ligne. Avec ce nouveau code, à chaque fois que vous cliquerez dans C2, une nouvelle ligne s'insèrera... même si tel n'était pas votre souhait...
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut tout le monde,

    Ou peut être en ajoutant un événement si C2 n'est pas vide

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 3 And Target.Row > 1 Then 'concerne la colonne C après la ligne 1
    If Target <> "" Then
    Target.Offset(1, 0).EntireRow.Insert 'pour insérer une ligne complète sous la cellule
    End If
    End If
    End Sub
    0