Inserer une ligne vide et la compléter

Résolu
Vendeen85160 Messages postés 5 Statut Membre -  
Vendeen85160 Messages postés 5 Statut Membre -
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.
.

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

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

    Cdlmnt
    0
    1. Vendeen85160 Messages postés 5 Statut Membre
       
      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
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. Vendeen85160 Messages postés 5 Statut Membre
       
      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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    "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
    1. Vendeen85160 Messages postés 5 Statut Membre
       
      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
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. Vendeen85160 Messages postés 5 Statut Membre
       
      Merci vraiment de ton aide
      0