Nouveau sur le Forum j'ai besoin d'un grand coup de main

Bonsoir à tous.

Je viens de créer une boite de dialogue pour l'enregistrement lors d'une brocante et j'ai un problème, quelqu'un peut-il m'aider merci, je joint l'exemple qui ne fonctionne pas.

Private Sub Comajouter_Click()
Sheets("registre").Activate
Range("A2").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
ActiveCell = anom.Value
ActiveCell.Offset(0, 1).Value = atelephone
ActiveCell.Offset(0, 2).Value = astatut
ActiveCell.Offset(0, 3).Value = acp
ActiveCell.Offset(0, 4).Value = acommune
ActiveCell.Offset(0, 5).Value = aadresse
ActiveCell.Offset(0, 6).Value = Comattestation
ActiveCell.Offset(0, 7).Value = acni
ActiveCell.Offset(0, 8).Value = adatecni
ActiveCell.Offset(0, 9).Value = aautoritecni
ActiveCell.Offset(0, 10).Value = avehicule
ActiveCell.Offset(0, 11).Value = acommetres
ActiveCell.Offset(0, 13).Value = acompaiement
ActiveCell.Offset(0, 14).Value = atitulairecheque
ActiveCell.Offset(0, 15).Value = abanque
ActiveCell.Offset(0, 16).Value = amontant
Sheets("Tableau de Bord").Activate
Range("A1").Select

Bonjour,

L'erreur vient probablement du fait que lorsqu'il n'y a qu'une ligne remplie (la ligne 2), la méthode end(xldown) renvoie la dernière cellule en colonne 1. Donc selection.offset(1, 0) ne peut marcher car il n'y a plus de ligne ensuite.

Voici un essai d'adaptation du code même s'il est possible de mieux faire :

Private Sub Comajouter_Click()
with Sheets("registre")
    nl = .cells(.rows.count, 1).end(xlup).row + 1
    with .cells(nl, 1)
        .value = anom.Value
        .Offset(0, 1).Value = atelephone
        .Offset(0, 2).Value = astatut
        .Offset(0, 3).Value = acp
        .Offset(0, 4).Value = acommune
        .Offset(0, 5).Value = aadresse
        .Offset(0, 6).Value = Comattestation
        .Offset(0, 7).Value = acni
        .Offset(0, 8).Value = adatecni
        .Offset(0, 9).Value = aautoritecni
        .Offset(0, 10).Value = avehicule
        .Offset(0, 11).Value = acommetres
        .Offset(0, 13).Value = acompaiement
        .Offset(0, 14).Value = atitulairecheque
        .Offset(0, 15).Value = abanque
        .Offset(0, 16).Value = amontant
    end with
end with
end sub

Cdlt,

Bonsoir,

Merci pour ce code il fonctionne à merveille.

Super

Rechercher des sujets similaires à "nouveau forum besoin grand coup main"