Améliorer une macro facile
Résolu
nonossov
Messages postés
638
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Améliorer une macro facile
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
3 réponses
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
et je vois que tu as repris l'ancienne.
Voici ta macro corrigée :
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
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
.
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
.
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. |
Merci infiniment
Cells(lig , 6).Insert xlToRight au lieu de Cells(lig + 1, 6).Insert xlToRight