Copier les lignes de A à AN et pas lignes entières

Résolu/Fermé
julien - 26 févr. 2016 à 10:25
 julien - 26 févr. 2016 à 12:47
Bonjour,

J'ai établis un code qui permet de sélectionner les lignes souhaitées de la première feuille pour les copier sur la deuxième feuille , je vous fournit un extrait de mon document Excel .

Cependant j'aimerais ne coller que de la ligne A à la ligne AN et non pas sur la ligne entière ( car sur ma vrai version j'ai des données a le pas toucher à partir de la ligne A0 ..

J'espère avoir été claire dans mes propos ..

Merci de votre aide , voici le code ==> http://www.cjoint.com/c/FBAjyNkeOYp
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
26 févr. 2016 à 11:17
Bonjour,

Il te faut modifier le Range Cellules, puisque tu sélectionnes des lignes complètes.
Une solution consiste à manipuler la chaine de caractères comprise dans la propriété Address de ton Range Cellules :
    Dim Cellules As Range           ' Déclaration de la variable Cellules
    Dim Rep As Integer              ' Déclaration de la variable Rep
    Dim Rep2 As Integer             ' Déclaration de la variable Rep
    Dim Adresse As String
    i = 2                           ' i Prend la valeure 2
    On Error Resume Next            ' Si erreur d'éxécution , le controle passe à l'instruction qui suit (Ignore l'erreur)
    Set Cellules = Application.InputBox(prompt:=" Cliquez sur le (ou les) numeros des lignes à conserver ( Maintenir CTRL) ", Type:=8)     ' Questionnement sur lignes à conserver
    If Err.Number <> 0 Then         ' Si le code d'erreur est différent de 0 ( Si il y a une erreur)
        Exit Sub            ' Quitter la macro
    End If                  ' Fin de la condition
    On Error GoTo 0         ' Rétablit la gestion d'erreur par défaut ( annule Err.Number )
    MsgBox Cellules.Address
    Adresse = Replace(Cellules.Address, ":$", ":$N")
    Adresse = Replace(Adresse, "$", "$A")
    Set Cellules = Range(Adresse)
    MsgBox Cellules.Address

0
Pijaku,

Encore un sans faute pour toi , merci bien et à bientôt :D
0