Insérer une ligne VBA
Résolu/Fermé
A voir également:
- Insérer une ligne VBA
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
3 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 10:47
19 août 2013 à 10:47
Bonjour,
voici un début de solution à ton problème :
éris to reprocess dans la colonne 3
Regarde le code dans VBA, à gauche clique sur feuille 1 et tu verras le code dans sub worksheet_change
https://www.cjoint.com/c/CHtkUEEiRSL
voici un début de solution à ton problème :
éris to reprocess dans la colonne 3
Regarde le code dans VBA, à gauche clique sur feuille 1 et tu verras le code dans sub worksheet_change
https://www.cjoint.com/c/CHtkUEEiRSL
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 11:04
19 août 2013 à 11:04
avec mes excuses :
https://www.cjoint.com/c/CHtldXYKeSX
https://www.cjoint.com/c/CHtldXYKeSX
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 11:34
19 août 2013 à 11:34
mets le en résolu si ton pb est considéré comme tel.
Pour ceux que ca interesse (on en sait jamais ca peut aider qqn), j'ai bidouillé le code en utilisant les infos transmises par Mélanie pour l'adapter à mon fichier. Voici ce que ca donne :
Private Sub CommandButton1_Click()
Dim lig As Long
Application.ScreenUpdating = False
For lig = Cells(Rows.Count, 5).End(xlUp).Row To 2 Step -1
If Cells(lig, "AX").Value = "To reprocess" Then
Rows(lig + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(lig + 1, 1) = Cells(lig, 1).Value
Cells(lig + 1, 2) = Cells(lig, 2).Value
Cells(lig + 1, 3) = Cells(lig, 3).Value
Cells(lig + 1, 4) = Cells(lig, 4).Value
Cells(lig + 1, 15) = Cells(lig, 15).Value
End If
Next lig
Unload Me
End Sub
Le seul soucis, c'est que ca se fait au click et non pas à l'inscription du coup il m'insère une ligne à chaque fois que je fais une mise à jour, mais en changeant de mot à chaque fois qu'une opération est faite on peut s'en sortir (oui je sais ici c'est du bidouillage mais le premier ne s'adaptait pas trés bien à mon fichier...)
Private Sub CommandButton1_Click()
Dim lig As Long
Application.ScreenUpdating = False
For lig = Cells(Rows.Count, 5).End(xlUp).Row To 2 Step -1
If Cells(lig, "AX").Value = "To reprocess" Then
Rows(lig + 1).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(lig + 1, 1) = Cells(lig, 1).Value
Cells(lig + 1, 2) = Cells(lig, 2).Value
Cells(lig + 1, 3) = Cells(lig, 3).Value
Cells(lig + 1, 4) = Cells(lig, 4).Value
Cells(lig + 1, 15) = Cells(lig, 15).Value
End If
Next lig
Unload Me
End Sub
Le seul soucis, c'est que ca se fait au click et non pas à l'inscription du coup il m'insère une ligne à chaque fois que je fais une mise à jour, mais en changeant de mot à chaque fois qu'une opération est faite on peut s'en sortir (oui je sais ici c'est du bidouillage mais le premier ne s'adaptait pas trés bien à mon fichier...)
19 août 2013 à 10:58
Merci pour le code, le seul problème c'est que du coup il m'efface la ligne du dessous pour y recopier les valeurs. Serait-il possible de lui dire d'insérer une ligne?
merci