Insertion ligne sur bouton de commande (associe MACRO VBA)

GuillaumA

XLDnaute Occasionnel
Bonjour à tous et bon retour de vacance à beaucoup d'entre vous,

Actuellement sur un projet Excel, un problème m'empêche d'avancer dans mon travail.
En effet je souhaiterai pouvoir, en cliquant sur un bouton, faire apparaître une nouvelle ligne à un endroit donné (Mettons que le bouton crée une ligne entre la cinquième et la sixième ligne)...

Seulement voila, j'ai beau naviguer sur le site encore et encore, je ne trouve pas un seul cas correspondant au mien. C'est pourquoi j'en appel à votre aide et vous remercie par avance pour votre considération.

Cordialement,
Guillaume A.
 

GuillaumA

XLDnaute Occasionnel
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Evidemment.... Merci à vous Pierrot et Risleure!
Et merci de ne pas trop en vouloir à ma débutantitude!

Cela marche parfaitement et je vous en remercie (et j'ai pu comprendre les méthodes).
Si je n'abuse pas trop, serait'il possible de savoir comment, dans la même macro, faire que les lignes soit:

- Directement misent en forme avec les traits de lignes normaux et les traits des colonnes en gras? Le texte que l'on va écrire dedans en bleu foncé?

- Modifiable, c'est à dire qu'il est possible d'y rajouter du texte malgré la protection générale de la feuille contre l'intégration de donnée.

Modif: A noter que les traits de colonnes dont la mise en forme est à modifier sont:
- entres les colonnes A et B
- entres les colonnes B et C
- entres les colonnes C et D

Cordialement,
Guillaume A.
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Re, bonjour risleure

pour la mise en forme et la déprotection des cellules, essaye avec l'enregistreur de macro, il me semble que pour ceci il convient parfaitement... te fournira le code qu'il ne restera plus qu'à optimiser, reviens si problème

@+
 

GuillaumA

XLDnaute Occasionnel
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Re bonjour Pierrot,
Merci pour tes indications. J'ai trouvé comment faire grâce à toi.

Sinon y a t'il une solution pour celui là:
- Modifiable, c'est à dire qu'il est possible d'y rajouter du texte malgré la protection générale de la feuille contre l'intégration de donnée.

Je suis bien conscient qu'il s'agit d'un point difficile et comprend qu'une solution n'est pas possible.
Cependant j'ai déjà vu des miracles à l'aide de ce forum =)

Cordialement,
Guillaume A.
 

Pierrot93

XLDnaute Barbatruc
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Re,

il me semble qu'il faut dévérouiller les cellules... click droit dans la cellule => format des cellules => onglet "protection", tu décoches "vérrouillée", en vba cela donnerai :
Code:
Range("A6:D6").Locked = False

@+
 

GuillaumA

XLDnaute Occasionnel
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Et bien ca ne marche pas. J'ai rajouté au code pour afficher de nouvelles lignes, mais cela m'affiche Erreur 400 dans VB et je ne peux toujours pas sélectionner les cellules.

De plus, je me suis aperçu d'un autre soucis dans mon code. En effet, ayant 11 rubriques, j'ai reproduit la macro pour l'ensemble de ces dernières. Seulement voila, lorsque je rajoute une ligne dans la première catégorie par exemple, les numéros de ligne sont décalés et les catégories qui suivent voient apparaître des nouvelles lignes, non pas après les lignes déjà existantes, mais en plein milieu :'(.
Que faire ?

Mon code:
Sub NewLine()
Rows(14).Insert
Range("B14:D14").Locked = False 'Rajout ne marchant pas.
End Sub
Sub NewLine2()
Rows(21).Insert
End Sub
Sub NewLine3()
Rows(29).Insert
End Sub
Sub NewLine4()
Rows(41).Insert
End Sub
Sub NewLine5()
Rows(46).Insert
End Sub
Sub NewLine6()
Rows(52).Insert
End Sub
Sub NewLine7()
Rows(65).Insert
End Sub
Sub NewLine8()
Rows(71).Insert
End Sub
Sub NewLine9()
Rows(77).Insert
End Sub
Sub NewLine10()
Rows(82).Insert
End Sub
Sub NewLine11()
Rows(88).Insert
End Sub
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Re,

ce code fonctionne chez moi sur feuille non protégée et cellules non fusionnées... Pour la protection, il y a sans doute lieu de la lever le temps de l'exécution :
Code:
Sub NewLine()
Sheets("NmFeuille").Unprotect "toto"
Rows(14).Insert
Range("B14:D14").Locked = False
Sheets("NmFeuille").Protect "toto"
End Sub

@+
 

GuillaumA

XLDnaute Occasionnel
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Re Pierrot,
Merci pour ta macro. Cette dernière marche nikel.
...Mais du coup (car il y a un mais...) ça fait bug une de mes autres macros. Celle qui permet de masquer des lignes en fonction de critères et vis et versa.

Fonction en question:
Public Sub Masquer()

Application.ScreenUpdating = False

Dim i As Long
Sheets("Etape 3 - Actions Retenues").Select

i = 1
Do While i < 100
If Cells(i, 3).Value = "" Then
Cells(i, 3).EntireRow.Hidden = True
Else
Cells(i, 3).EntireRow.Hidden = False
End If
i = i + 1
Loop

Sheets("Etape 2 - Actions Proposées").Select

Application.ScreenUpdating = True

End Sub

Une idée du pourquoi du comment? :S
 

GuillaumA

XLDnaute Occasionnel
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Oui la feuille est protégée, c'est l'objectif!
Elle est protégée de base et doit se unlock pour les lignes qui sont rajoutées uniquement. :)

Toujours faisable ou je rêve ?
 

GuillaumA

XLDnaute Occasionnel
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Je sais mais depuis que j'ai mis la macro, le bug survient. Le code que tu m'as donné ne marche uniquement que lorsque la feuille est non protégée de base.

Mais ne te tracasse pas. Je vais faire avec.
Encore merci pour ta patience et ton aide!
 

Pierrot93

XLDnaute Barbatruc
Re : Insertion ligne sur bouton de commande (associe MACRO VBA)

Re,

oui, si tu appliques ce code sur une feuille non protégée, à la fin de la procédure celle-ci le sera... Sans voir les enchaînements de tes macros et le fichier en question, difficile pour moi de t'en dire plus...
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 140
Membres
103 129
dernier inscrit
Atruc81500