Améliorer une macro facile

Résolu
nonossov Messages postés 638 Statut Membre -  
gbinforme Messages postés 15478 Statut Contributeur -
Bonjour,
vous trouvez ci joint un fichier contient une macro qui ajoute un ligne avec certain changement, j'aimerai ajouter une seule modification :
déplacer le F2 vers G2 et F4 vers G4 ainsi de suite...

https://www.cjoint.com/c/FDliDShnrSL

Merci infiniment


A voir également:

3 réponses

gbinforme Messages postés 15478 Statut Contributeur 4 726
 
Bonjour,

Il me semble que tu avais la réponse dans le précédent sujet :
https://forums.commentcamarche.net/forum/affich-33336372-ameliorer-une-macro#3

Je t'avais corrigé ta ligne incorrecte
    lstcol = Cells(DerLig, Columns.Count).End(xlToRight).Column
par
    lstcol = Cells(1, 1).End(xlToRight).Column + 1

et je vois que tu as repris l'ancienne.

Voici ta macro corrigée :
Public Sub ajout_ligne()
Dim lstcol As Long
Dim lig As Long, DerLig As Long
    DerLig = Cells(Rows.Count, 1).End(xlUp).Row
    lstcol = Cells(1, 1).End(xlToRight).Column
    MsgBox (lstcol)
    For lig = DerLig To 1 Step -1
        Rows(lig + 1).Insert
        Cells(lig + 1, 1).Resize(, lstcol).Value = Cells(lig, 1).Resize(, lstcol).Value
        Cells(lig + 1, 6).Insert xlToRight
        Cells(lig + 1, 3) = "516100"
    Next lig
End Sub
1
nonossov Messages postés 638 Statut Membre
 
Si je veux mettre F1 vers G1 et garder F2, c-a-d je fais l'inverse pour l'ordre des ecritures?!
Merci infiniment
0
gbinforme Messages postés 15478 Statut Contributeur 4 726
 
Non, il te suffit de changer de ligne :
        Cells(lig , 6).Insert xlToRight
au lieu de
       Cells(lig + 1, 6).Insert xlToRight
0
nonossov Messages postés 638 Statut Membre
 
Mes amis??
0
jordane45 Messages postés 40050 Statut Modérateur 4 754
 
Bonjour,
Le mieux serait que tu postes directement le code de ta macro sur le forum plutôt que de mettre une fichier en pj
NB : **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
nonossov Messages postés 638 Statut Membre
 
COMME ça ?
Public Sub ajout_ligne()
Dim lstcol As Long
Dim lig As Long, DerLig As Long
    DerLig = Cells(Rows.Count, 1).End(xlUp).Row
    lstcol = Cells(DerLig, Columns.Count).End(xlToRight).Column
    MsgBox (lstcol)
    For lig = DerLig To 1 Step -1
        Rows(lig + 1).Insert
        Cells(lig + 1, 1).Resize(, lstcol).Value = Cells(lig, 1).Resize(, lstcol).Value
'        For Each cll In Cells(lig, 1).Resize(, lstcol)
'        If cll.Value = "516100" Or cll.Value = "610000" Or cll.Value = "620000" Then
'        cll.Offset(1, 0).Value = "516100"
'        Exit For
'        End If
'        Next
    Cells(lig + 1, 3) = "516100"
    Next lig
End Sub


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0