Inserer une ligne vide et la compléter

Résolu
Vendeen85160 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Vendeen85160 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à développer une macro pouvant exécuter les actions suivantes :
1. Insérer une ligne
j'ai utilisé le codage suivant :
Sub ins()
lastr = Range("A65000").End(xlUp).Row
For i = lastr To 2 Step -1
Cells(i, 1).Select
Selection.EntireRow.Insert Shift:=xlDown
Next
End Sub

2. Compléter cette ligne,
en colonne T U W : recopier la cellule précédente
en colonne V W : insérer du text
en colonne X : recopier Y
en colonne Y : recopier X
sur cette partie je bloque

Merci de votre aide,

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

A voir également:

4 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Un exemple
http://www.cjoint.com/c/EFxoHIpiJjg

Cdlmnt
0
Vendeen85160 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci,
Je vous apporte quelques précisions sur le résultat attendu,
J'ai recopié votre code dans mon fichier, mais le résultat ne me convient pas,

Le résultat attendu est le suivant :
par exemple suite à l'insertion de la ligne n°2,
Recopie de T1 en T2
Recopie de U1 en U2
Insertion du texet "530000" en V2
Insertion du texte "Caisse" en W2
Recopie Y1 en X2 - cela fonctionne
Recopie X1 en Y2 - cela fonctionne

Merci de votre aide qui m'est très précieuse,
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Recopie de T1 en T2
Recopie de U1 en U2
Insertion du texet "530000" en V2
Insertion du texte "Caisse" en W2

J'avoue ne pas trop comprendre, il me semble que ces 4 résultats sont conformes à ta demande
Ce que je t'ai donné est à adapter à ton fichier, tu y trouves la copie de valeur, de formule, l'insertion de texte (à toi de les définir), et l'inversion des colonnes X et Y
une autre version
http://www.cjoint.com/c/EFxrh2uJs8g

Cdlmnt
0
Vendeen85160 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Très bien merci beaucoup de ton aide, je n'avais pas tout compris le premier coup,

Par contre un message d'erreur apparait à la fin de l'exécution de la macro, mais le résultat est celui attendu,

"Erreur d'execution '1004':

La méthode 'Range' de l'objet '_Global' a échoué "
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
"Erreur d'execution '1004':
La méthode 'Range' de l'objet '_Global' a échoué "


Sur quelle ligne se produit l'erreur ?
Est ce que cette erreur ne proviendrait pas d'une tentative d'accéder à la ligne 0 ? As tu laissé lideb = 3 ?

Cdlmnt
0
Vendeen85160 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
L'erreur intervient en fin de traitement donc je pense sur la première ligne,

Excuse moi mais je ne sais pas à quoi correspond lideb = 3,

Si je dois laisser une ligne ou plusieurs sur le fichier, il est vrai que je ne l'ai pas fais sur mon fichier,

Cordialement.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Chez moi, je n'ai pas d'erreur !

Lorsque l'erreur se produit, excel te place dans le code et la ligne où se produit l'erreur est en jaune. Tu passes sur les variables de cette ligne et tu notes leur valeur

lideb = 3 est la première ligne concernée par l'insertion dans la feuille

Cdlmnt
0
Vendeen85160 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci vraiment de ton aide
0