Incrémentation automatique depuis un onglet

Salut le forum,

J’ai besoin d’un coup de main sur une macro que je n’arrive pas à finaliser ou à faire correctement.

Je voudrais qu’à chaque fois que je réactualise l’onglet « Modèle » qui correspond à un bon de visite les nouvelles informations s’incrémentent dans l’onglet « Récapitulatif ». La difficulté c’est qu’il peut y avoir plusieurs lignes de visiteurs sur un même bon de visite qui devront avoir le même numéro dans le tableau récapitulatif. Ce numéro de bon de visite qui est dans la colonne « A » correspond au précédent numéro de bon de visite plus un.

Exemple le bon de visite de l’onglet « Modèle » du fichier en PJ devrait me générer 4 nouvelles lignes avec 4 fois le même numéro de bon à savoir 32 car j’ai 4 noms différent (B4 à B7). Les autres renseignements seront les mêmes 4 fois dans les colonnes de A à C et de E à I. La colonne J correspond à la date du jour.

Je ne sais si j’ai été clair.

Merci par d’avance

Bonjour

Ci joint ma solution

A+ François

Salut fanfan38,

Super ta solution . Elle donne le résultat attendue. Je mets le sujet en résolu.

Merci.

Salut le forum,

Je remets le sujet en non résolu car si "fanfan38" ou un autre personne pourrait me dire pourquoi lorsque j'ai 10 candidats (le max qu'on peut mettre) dans le modèle l'incrémentation ne se fait pas dans le tableau récapitulatif lorsque je lance la macro "Valider()" en cliquant le bouton "valider" dans l'onglet "Modèle" ?

Je pense que le problème est à la ligne

For i = 4 To Range("B13").End(xlUp).Row

avec le ".End(xlUp).Row" mais je n'arrive pas à trouver une solution.

Sinon la macro fonctionne très bien de 1 à 9 candidats et c'est super.

Cordialement.

bonsoir,

je te propose cette adaptation du code

Option Explicit

Sub Valider()
    Dim i As Integer, n As Long, num As Integer
    num = Application.Max([T_recap[N° bon de visite]]) + 1
    For i = 4 To 13
        If Range("B" & i) <> "" Then
            If [T_recap].Item(1, 1) <> "" Then n = [T_recap].Rows.count + 1 Else n = 1
            [T_recap].Item(n, 1) = num  'N° bon de visite
            [T_recap].Item(n, 2) = "NON" 'PDF
            [T_recap].Item(n, 3) = Range("B3").Value 'Date de la visite
            [T_recap].Item(n, 4) = Range("B" & i).Value 'Renseignement(s) visiteur(s)
            [T_recap].Item(n, 5) = Range("B16").Value 'Organisme demandeur
            [T_recap].Item(n, 6) = Range("B17").Value 'Nom du POC
            [T_recap].Item(n, 7) = Range("B18").Value 'Tél. du POC
            [T_recap].Item(n, 8) = Range("B19").Value 'Nature de la demande
            [T_recap].Item(n, 9) = Range("B20").Value 'Points particuliers
            [T_recap].Item(n, 10) = Range("B21").Value 'Réception du bon le
            [T_recap].Item(n, 11) = Range("B23").Value 'Signature du bon
        End If
    Next
    Range("B3:B21").ClearContents
    Range("B23").ClearContents
End Sub

Super et merci H2so4 c'est tout simple quand on voit la solution . Je voulais rester sur une boucle et je n'avais pas pensé à une condition. Merci encore.

Sujet mis à nouveau en résolu.

Rechercher des sujets similaires à "incrementation automatique onglet"