1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

XL 2016 Insérer des lignes/colonnes via userform

Discussion dans 'Forum Excel' démarrée par luke3300, 5 Janvier 2019.

  1. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Bonjour le forum,

    J'aimerais arriver à insérer des lignes et/ou des colonnes dans une grille existante selon un nombre choisi dans une userform et aussi que cette procédure se fasse automatiquement dans la Feuil2.
    Donc si "x" colonnes/lignes ajoutées en Feuil1, que ce soit ajouté aussi en Feuil2 (qui comporte la même grille mais pas pour la même utilisation).

    Je joint un petit fichier avec le détail et des explications plus précises et une ébauche d'userform ...

    Merci à tous pour toute l'aide que vous pourrez m'apporter et bon WE ;)
     

    Pièces jointes:

    Dernière édition: 5 Janvier 2019
  2. Chargement...

    Discussions similaires - Insérer lignes colonnes Forum Date
    Comment insérer des lignes/colonnes et que les macros se mettent à jour? Forum Excel 25 Février 2012
    comparer 2 colonnes pour insérer des lignes selon 1 condition Forum Excel 22 Juillet 2008
    insérer des lignes automatiquement si cellule non vide Forum Excel 19 Novembre 2018
    XL 2016 Comment insérer dix lignes déjà prèremplies dans un tableau ? Forum Excel 5 Juin 2018
    Inserer lignes en fonction de plusieurs cellules excel 2007 Forum Excel 8 Avril 2018

  3. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26037
    "J'aime" reçus :
    2235
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonjour luke3300,
    Code (Text):
    Private Sub CommandButton1_Click() 'Annuler
    Unload Me
    End Sub

    Private Sub CommandButton2_Click() 'Valider
    Dim w As Worksheet
    TextBox1 = Abs(Int(Val(TextBox1)))
    TextBox2 = Abs(Int(Val(TextBox2)))
    If TextBox1 * TextBox2 = 0 Then Exit Sub
    For Each w In Sheets(Array("Feuil1", "Feuil2")) 'noms à adapter
        w.Rows(27).Resize(TextBox1).Insert
        w.Columns("G").Resize(, TextBox2).Insert
    Next
    End Sub
    A+
     
    luke3300 aime votre message.
  4. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Bonjour Job75,

    Merci pour ta réponse rapide :D
    Ces codes-là sont pour les boutons "Annuler" et "Valider" de mon UserForm mais que dois-je mettre comme code pour le bouton pour appeler la UserForm?

    Bonne fin de journée;)
     
  5. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26037
    "J'aime" reçus :
    2235
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    UserForm123456789.Show
     
    luke3300 aime votre message.
  6. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Merciiiii :) je te répondais justement que j'avais trouvé ça sur le forum: "UserForm1.Show vbModeless" et que j'avais testé et c'est OK super! :D

    J'ai cependant enlevé le "vbModeless" qui ne me paraissait pas utile.

    Merci beaucoup Job75, excellente soirée.
     
  7. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Re,

    Une remarque ... lorsque j'ajoute 1 ligne par exemple et 0 colonne, ça ne fait rien chez moi ... si j'inverse et que je rentre 0 ligne et 1 colonne ça ne fait toujours rien. Par contre dès qu'il y a une valeur dans les 2 TextBox, ça marche nickel ... :( une idée du pourquoi?
     
  8. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26037
    "J'aime" reçus :
    2235
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Re,

    Plutôt que bloquer la macro si TextBox1 ou TextBox2 égale zéro il vaut mieux ceci :
    Code (Text):
    Private Sub CommandButton2_Click() 'Valider
    Dim w As Worksheet
    TextBox1 = Abs(Int(Val(TextBox1)))
    TextBox2 = Abs(Int(Val(TextBox2)))
    For Each w In Sheets(Array("Feuil1", "Feuil2")) 'noms à adapter
        If TextBox1 Then w.Rows(27).Resize(TextBox1).Insert
        If TextBox2 Then w.Columns("G").Resize(, TextBox2).Insert
    Next
    End Sub
    A+
     
    luke3300 aime votre message.
  9. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Je viens de tester, au poil! Merci beaucoup Job75.
    Bon WE
     
  10. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Bonjour Job75, le forum,

    Il y a un point auquel je n'avais pas pensé :( ... lorsqu'on insère des lignes et/ou des colonnes dans une grille, les formules qui s'y trouvent ne sont pas incluses dans les nouvelles lignes/colonnes.
    Je crois dès lors que la solution serait de copier une ligne/colonne et de l'insérer autant de fois que le nombre désiré. Qu'en pensez-vous? Et si c'est la solution, que dois changer dans le code?
    Merci beaucoup pour votre aide et agréable journée à tous.
     
  11. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    26037
    "J'aime" reçus :
    2235
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonjour luke3300,

    Avec ce code les formules (et uniquement les formules) sont collées dans les cellules insérées :
    Code (Text):
    Private Sub CommandButton2_Click() 'Valider
    Dim sel As Range, w As Worksheet
    ActiveCell.Activate 'si un objet est sélectionné
    Set sel = Selection
    TextBox1 = Abs(Int(Val(TextBox1)))
    TextBox2 = Abs(Int(Val(TextBox2)))
    Application.ScreenUpdating = False
    For Each w In Sheets(Array("Feuil1", "Feuil2")) 'noms à adapter
        If TextBox1 Then
            w.Rows(27).Resize(TextBox1).Insert
            w.Rows(26).Copy
            w.Rows(27).Resize(TextBox1).PasteSpecial xlPasteFormulas
        End If
        If TextBox2 Then
            w.Columns("G").Resize(, TextBox2).Insert
            w.Columns("F").Copy
            w.Columns("G").Resize(, TextBox2).PasteSpecial xlPasteFormulas
        End If
    Next
    Application.CutCopyMode = 0
    sel.Select
    End Sub
    A+
     
    luke3300 aime votre message.
  12. luke3300

    luke3300 XLDnaute Occasionnel

    Inscrit depuis le :
    30 Mars 2005
    Messages :
    477
    "J'aime" reçus :
    0
    Sexe :
    Masculin
    Habite à:
    Dinant
    Utilise:
    Excel 2016 (PC)
    Bonsoir Job75, le forum,

    Cela fonctionne à merveille, merci beaucoup ;)

    Bonne semaine. :)
     

Partager cette page