Copier une ligne et incrémentation partielle

Résolu
Bonjour,
je me trouve devant un problème peut être simple pour vous (j'espère).
Voilà j'essaye de copier une ligne sur simple clic d'un bouton :
Cette ligne possède une fonction sur une certaine colonne qui s'incrémente automatiquement et mon souhait serait de l'incrémenter qu'une partie de la fonction qui affiche la "valeur" affichée devant le N° souhaité d'une liste (via données validation liste etc...)
peut etre plus clair :j'ai une ligne ou on a un choix :
exemple N° de machine.
dans un tableau il y a sur 2 colonnes : N° machine et N° de série de la machine
Et sur cette fameuse ligne je choisis le N° machine et j'obtiens directement le bon N° de série.
Le problème est j'arrive a dupliquer cette ligne mais les valeurs des fonctions d'affichage changent aussi (+1 a chaque valeur)
soit : =RECHERCHEV(B1;A28:B59;2) devient : =RECHERCHEV(B2;A29:B60;2) le B2 est correct mais les valeurs de la table en référence changent un conseil ??????
MERCI d'avance !
Alex

3 réponses

  1. Contributeur
    Bonsoir,

    A28:B59 est une référence relative, elle s'incrémente sur la ligne suivante.
    Il faut que tu la rendes absolue (fixe) pour les colonnes et les lignes avec des $ devant.
    =RECHERCHEV(B1;$A$28:$B$59;2)

    eric
    2
    1. Un très grand merci pour ton aide et ta rapidité de réaction.
      Merci encore
      0
  2. Sinon autre petit problème qui survient :
    quand la ligne est copiée elle est identique a celle sélectionnée comment pourrait-on remettre a zéro les différentes listes de choix automatiquement a chaque nouvelle ligne ??
    Merci d'avance encore une fois (j'espère)
    Alex
    0
    1. Contributeur
      C'est le fonctionnement normal d'excel.
      Garde-toi au moins 1 ligne vide avant de recopier...
      eric
      0
  3. je suis désolé mais je n'y arrive pas trop je crois que cela provient de ma façon d'incrementer que j'avais repris d'un forum d'ici.

    Code:

    Private Sub CommandButton1_Click()

    'Aller en A1
    Range("A1").Select

    'Tester si la cellule de dessous est vide, si non descendre d'une ligne
    While ActiveCell.Offset(1, 0).Value <> ""
    ActiveCell.Offset(1, 0).Select
    Wend

    'Quand la dernière valeur du tableau est trouvée, sélectionner le nombre de colonnes concernées
    ActiveCell.Range("A1:J1").Select

    'Recopier le contenu sur une ligne vers le bas
    Selection.AutoFill Destination:=ActiveCell.Range("A1:J2"), Type:=xlFillCopy
    End Sub

    dois-je prendre une autre direction pour ce copier collé ?
    Alex.
    0