Insérer une ligne automatiquement grâce à une macro

Résolu
caro -  
 caro -
Bonjour,

Je travaille sur un fichier excel et je souhaiterais réaliser une macro, mais j'ai besoin d'aide.
Le but de cette macro serait d'insérer automatiquement une ligne suite à un texte contenu dans une cellule (dans une colonne).

A titre d'exemple concret du cas:
Les cellules de ma colonne A sont composées de liste déroulante. Lorsque les utilisateurs du fichiers vont sélectionner le texte "multi-affectation" je souhaiterais qu'une ligne s'insère automatiquement dans le fichier juste en dessous de la ligne dans laquelle ils ont sélectionné "multi-affectation".

Je vous remercie pour votre aide.

Caroline

A voir également:

4 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 1 Or Target.Count <> 1 Then Exit Sub
    If Target = "multi-affectation" Then
        Application.EnableEvents = False
        Rows(Target.Row + 1).Insert Shift:=xlDown
        Target.Select
        Application.EnableEvents = True
    End If
End Sub


eric


Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
1
caro
 
Un grand merci pour ton aide :)

Bonne journée
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
eric
0
caro
 
Très bien je tâcherai de le faire la prochaine fois.

J'aurais 2 dernières questions concernant les macros.
L'une est rattachée à ma première question:
- Lorsque ma ligne est insérée, je souhaiterais que cette ligne copie colle les information de la ligne du dessus de la colonne A à L. Bien sur, en colonne A cela revient à copier multi-afectation et je ne veux pas qu'excel insère à nouveau une ligne.

J'aurais également voulu intégrer un message d'erreur sur une colonne. Lorsque dans une cellule de la colonne A figure "autres changements" alors sur cette ligne en colonne M, la date doit être comprise entre 01/08/2013 et le 31/12/2014. Ainsi l'utilisateur ne peux pas saisir de date en dehors de cet intervalle.

Merci beaucoup si vous arrivez à répondre à ces questions.

Caroline
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
la date doit être comprise entre 01/08/2013 et le 31/12/2014
L'année prochaine et en 2015 également ?
Il n'y a pas une règle de calcul pour ces dates ?

Merci de déposer un fichier de test anonymisé avec qcq lignes pour voir le type de valeurs et de formules que tu as.
Déposer le fichier xls sur cjoint.com et coller ici le lien fourni.

eric
0
caro
 
Bonjour Eric,

Voici le lien du fichier test: http://cjoint.com/?CGmjiQANzyB

Merci beaucoup pour ton aide.

Caroline
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

et mes questions ?
eric
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

je souhaiterais que cette ligne copie colle les information de la ligne du dessus de la colonne A à L.

J'ai complété le code.

Mais sinon il n'y a pas de règle particulière, cet intervalle doit être figé. Je le changerai manuellement lors de la prochaine utilisation du fichier.
Ok, j'ai mis une validation. Tu pourras la changer tous les mois si besoin.
https://www.cjoint.com/c/CGmpyKJGeky

eric
0
caro
 
Un très grand merci et bonne continuation :)
0