Bonjour à tous,
j'ai déjà trouvé pas mal de réponses à mes questions ici et je remercie tous les contributeurs.
Cela dit, je bloque sur un sujet et je n'ai rien trouvé qui puisse m'aider (en tout cas à la portée de ma compréhension). Voic donc mon problème :
j'ai un fichier avec 2 onglets. L'onglet 1 sert de modèle de base pour une structure vierge à compléter dans l'onglet 2.
Le modèle de l'onglet 1 comprend des cellules nommées qui permettent la création automatique de ligne quand la cellule au-dessus est remplie. Et ça fonctionne !
Le principe de l'onglet 2 est, à l'aide d'un bouton et d'une macro, de recopier la structure de base de l'onglet 1 et de l'insérer au-dessus de la structure précédente.
Pour conserver la création automatique de lignes, j'ai réussi à automatiser la création de nouveaux noms de cellules pour les repères.
Par contre, je ne sais pas ajouter ces noms dans la macro qui gère la création des lignes. J'ai bien essayé avec une boucle mais Excel me sort des erreurs 1004, 424 et une autre que j'ai oubliée...
Voici où j'en suis :
J'ajoute que cette macro est enregistrée dans l'objet feuille et non dans un module.
Merci d'avance pour l'aide que vous pourrez m'apporter.
j'ai déjà trouvé pas mal de réponses à mes questions ici et je remercie tous les contributeurs.
Cela dit, je bloque sur un sujet et je n'ai rien trouvé qui puisse m'aider (en tout cas à la portée de ma compréhension). Voic donc mon problème :
j'ai un fichier avec 2 onglets. L'onglet 1 sert de modèle de base pour une structure vierge à compléter dans l'onglet 2.
Le modèle de l'onglet 1 comprend des cellules nommées qui permettent la création automatique de ligne quand la cellule au-dessus est remplie. Et ça fonctionne !
Le principe de l'onglet 2 est, à l'aide d'un bouton et d'une macro, de recopier la structure de base de l'onglet 1 et de l'insérer au-dessus de la structure précédente.
Pour conserver la création automatique de lignes, j'ai réussi à automatiser la création de nouveaux noms de cellules pour les repères.
Par contre, je ne sais pas ajouter ces noms dans la macro qui gère la création des lignes. J'ai bien essayé avec une boucle mais Excel me sort des erreurs 1004, 424 et une autre que j'ai oubliée...
Voici où j'en suis :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Integer
Dim NbChantiers As Integer
NbChantiers = Range("A1").Value
Dim Install As String
'ajout ligne INSTALL
If ((Range("INSTALL").Offset(-1) <> "") Or (Range("INSTALL").Offset(-1, 3) <> "")) Then
' ajoute une ligne - la ligne s'insère au dessus
Application.EnableEvents = False ' pour ne pas se mordre la queue
Range("INSTALL").EntireRow.Insert
Application.EnableEvents = True
End If
'ajout ligne INSTALL en boucle
For x = 1 To NbChantiers - 1
Install = "INSTALL" & x
' teste si la cellule juste au dessus est remplie
If ((ThisWorksheet.Range(Install).Offset(-1) <> "") Or (ThisWorksheet.Range(Install).Offset(-1, 3) <> "")) Then
' ajoute une ligne - la ligne s'insère au dessus
Application.EnableEvents = False ' pour ne pas se mordre la queue
Range(Install).EntireRow.Insert
Application.EnableEvents = True
End If
Next
End Sub
J'ajoute que cette macro est enregistrée dans l'objet feuille et non dans un module.
Merci d'avance pour l'aide que vous pourrez m'apporter.