Insertion de lignes pré remplies

ArnaudBernardeau

XLDnaute Junior
Bonjour le forum,

Je rencontre un problème que je n'arrive pas à résoudre avec mon piètre niveau en VBA. Je me tourne donc vers vous en espérant que vous pourrez m'aider...

Je réalise un fichier de suivi de projets pour le travail et j'aimerai insérer des lignes en dessous de certaines cellules, selon le choix de l'utilisateur.
Je m'explique : pour chaque projet, l'utilisateur rentre l'intitulé du projet et complète la ligne.
J'aimerai ensuite qu'au fil de l'avancée du projet, il puisse ajouter différents jalons ou "lots" dans mon cas. Ces lots seraient en fait des lignes qui viendraient s'ajouter en dessous de la ligne "projet". Ces nouvelles lignes devront garder la mise en forme conditionnelle et les formules du tableau.

Pour faire ça, j'avais développé qqch qui marchait, en double cliquant sur la cellule contenant le nom du projet, une InputBox s'ouvrait demandant le nombre de lots à ajouter. En fonction du chiffre indiqué, ça créait le nombre de lignes voulu en les copiant puis en effaçant les cases remplies.

Le problème est qu'avec cette méthode, il n'était plus trop possible de modifier le nom du projet en double cliquant sur la cellule et de plus je n'arrivais pas à pré remplir les cellules en mettant: "Nom du projet" - Lot 1 par exemple pour la 1ère ligne ajoutée.

Ce que j'aimerai en fait c'est un moyen d'ajouter facilement des lignes pour chaque projet, qui s'implémentent en fonction de leur numéro. Peut être un petit "+" devant les noms de projets qui permettrait au clic d'ajouter une ligne avec un nom pré défini?

J'espère avoir été assez clair, je vous remercie d'avance pour l'aide que vous pourrez m'apporter.

Je joins un fichier exemple pour plus de clarté.

Je vous souhaite une bonne journée!
 

Pièces jointes

  • Test.xls
    38.5 KB · Affichages: 34
  • Test.xls
    38.5 KB · Affichages: 30

ArnaudBernardeau

XLDnaute Junior
Re : Insertion de lignes pré remplies

Bonjour Philippe,

Merci pour votre aide, c'est exactement ça que je cherchais.
Cependant, si je voulais mettre un bouton de commande pour éviter ce double clic serait-ce difficile? (l'utilisateur sélectionnerait le projet auparavant)

Merci encore.

Arnaud
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Insertion de lignes pré remplies

Re,

une solution plus radicale vu que j'ai des doutes sur la compréhension du problème

Code:
Sub Bouton1_Clic()
Dim Lg, Rep, texte
If Selection.Rows.Count > 1 Or Selection.Column <> 1 Or Selection.Row = 1 Or Selection = "" Then
MsgBox ("SELECTIONNER UNE SEULE CELLULE (non-vide) EN COLONNE A")
Exit Sub
End If
Lg = ActiveCell.Row

' saisie du nombre de lignes à ajouter
Do
    Rep = Application.InputBox("Combien de lots à ajouter ?", "Ajouter lots", 1, Type:=1)
    If Rep = False Then Exit Sub
Loop While Rep = ""

' saisie du texte à ajouter en colonne A dans les nouvelles lignes
Do
    texte = Application.InputBox("Entrer le texte à mettre dans la (les) nouvelle cellule(s)")
    If texte = False Then Exit Sub
Loop While texte = ""

Rows(Lg).Copy
Range(Rows(Lg + 1), Rows(Lg + Rep)).Insert
Application.CutCopyMode = False
On Error Resume Next
Range(Rows(Lg + 1), Rows(Lg + Rep)).SpecialCells(xlCellTypeConstants, 23).ClearContents

' ajout du nouveau texte en colonne A + incrémentation
For i = 1 To Rep
    Cells(Lg + i, 1) = texte & " " & i
Next i
End Sub

à+
Philippe
 

ArnaudBernardeau

XLDnaute Junior
Re : Insertion de lignes pré remplies

Bonjour, merci pour la réponse.

Malheureusemt, même si cela marche dans le fond, cela ne résout pas mon problème d'implémentation des lots.
Si j'en ajoute 2, je vais donc avoir lot 1 et lot 2 sur deux lignes distinctes.
Maintenant, imaginons que je veuille en rajouter un troisième à la suite, en faisant la manip j'obtiendrai un lot 1 encore et en première position, suivi d'un autre lot 1 puis du lot 2...
Pensez-vous qu'il soit possible d'éviter ça?

Merci!
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote