VBA insertion d'une ligne avec condition

Anna84

XLDnaute Nouveau
Bonjour,

Je vous sollicite car j'aurai besoin d'aide svp : j'ai un fichier excel contenant un tableau d'information à remplir dont un champ nommé "Annexes" où l'on doit répondre par Oui ou Non. Je voudrai qu'à chaque fois que l'on répond "Oui" une nouvelle ligne s'insère automatiquement à la SUITE (afin de compléter l'information sur cette nouvelle ligne) grâce à de la VBA. Or, ne l'ayant pas vraiment abordé au cours de mes études, je ne sais pas comment m'y prendre. Vous trouverez ci joint un fichier exemple.

En vous remerciant d'avance
 

Pièces jointes

  • Fichier_exemple.xls
    33.5 KB · Affichages: 35
  • Fichier_exemple.xls
    33.5 KB · Affichages: 35
  • Fichier_exemple.xls
    33.5 KB · Affichages: 36

Vorens

XLDnaute Occasionnel
Re : VBA insertion d'une ligne avec condition

Bonjour Anna, Eddy, le forum


Peut être le code suivant répond a ta demande

Code:
Sub Macro1()
'

'
'trouve fin tableau


fintab = Sheets("Feuil1").Range("A" & "65535").End(xlUp).Row +1
'

If Sheets("Feuil1").Range("F2").Value = "Oui" Then

 Rows(fintab & ":" & fintab).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
 
End If

End Sub

Il faudra bien sure changer l'adresse de la cellule qui contient le Oui pour le test if car j'ai pas trouvé ou il etait...

Meilleures salutations

Vorens
 
Dernière édition:

Anna84

XLDnaute Nouveau
Re : VBA insertion d'une ligne avec condition

Bonjour Vorens, merci pour ta réponse et ton attention, mais ce code ne marche pas chez moi... J'ai pourtant changer l'adresse des cellules qui contient le Oui, il s'agit de la colonne B...

Merci de votre aide

Cordialement,

Anna
 

Anna84

XLDnaute Nouveau
Re : VBA insertion d'une ligne avec condition

Bah aucune idée, bien que je m'y connaisse pas vraiment en VBA, le code n'ajoute pas de ligne lorsque je réponds Oui.. Pourtant j'ai repris votre code en changeant le nom de la colonne concernant mais ça ne marche pas... Merci de consulter mon fichier afin que ce soit plus claire pour vous...
 

Vorens

XLDnaute Occasionnel
Re : VBA insertion d'une ligne avec condition

La macro ne se déclenche pas toute seule, la question posée était "comment add une ligne". Il faut modifier le code afin qu'il se déclenche au changement de valeur d'une Cellule.
 

Vorens

XLDnaute Occasionnel
Re : VBA insertion d'une ligne avec condition

Re,


Pour quel la macro se déclenche lorsque tu écrit "oui" dans ta dernière ligne colonne B2 de ton tableau voici le code

Code:
Sub worksheet_Change(ByVal Target As Range)


'
'trouve fin tableau

fintab = Sheets("Feuil1").Range("A" & "65535").End(xlUp).Row + 1
fintab2 = fintab - 1

Adresse = "$B" & "$" & fintab2

If Target.Address = Adresse And Range("B" & fintab2).Value = "Oui" Then

 Rows(fintab & ":" & fintab).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
 
End If

End Sub

En espérant que cela te comble :)

Edit: Code a placer dans Feuil1 et pas dans un module.

Meilleures salutations

Vorens
 

Anna84

XLDnaute Nouveau
Re : VBA insertion d'une ligne avec condition

Mercii mais je crois que je me suis mal exprimée lol c'est pas à la fin du tableau que je veux que ce code soit appliquée mais à chaque ligne de la colonne B contenant "Oui". Par exemple si pour la première ligne je réponds Oui, une nouvelle ligne s'iinsère automatiquement à la SUITE, à la deuxième ligne si je réponds Oui => pareil. etc. Vous voyez ce que je veux dire ?
 

Discussions similaires

Réponses
50
Affichages
5 K

Statistiques des forums

Discussions
314 450
Messages
2 109 721
Membres
110 551
dernier inscrit
Khyolyanna