Code génère un numéro d'ordre commençant par 1
Bonsoir Forum,
SVP Je veux créer dans une feuille séparée REG trois colonnes dans la première colonne le code colle le nom et dans la deuxième colonne le code colle la date ; Ces deux colonnes fonctionnent bien, mais le problème est dans la troisième colonne dans laquelle je veux que le code génère un numéro d'ordre commençant par 1. Le problème est que cela efface le titre de la colonneet rien ne se passe dans les lignes suivantes ce qui signifie que j’ai un problème avec la partie dédiée à la création du numéro d'ordre.
Merci beaucoup pour votre attention.
Sub CollerValeursetordre()
Dim wsREG As Worksheet
Dim wsCT As Worksheet
Dim lastRowA As Long
Dim lastRowB As Long
' Définir les feuilles de calcul
Set wsREG = ThisWorkbook.Sheets("REG")
Set wsCT = ThisWorkbook.Sheets("CT")
' Trouver la dernière ligne non vide dans la colonne A de REG
lastRowA = wsREG.Cells(wsREG.Rows.Count, "A").End(xlUp).Row
' Copier et coller la valeur de H14 de CT dans la colonne A de REG
wsREG.Cells(lastRowA + 1, "A").Value = wsCT.Range("H14").Value
' Trouver la dernière ligne non vide dans la colonne B de REG
lastRowB = wsREG.Cells(wsREG.Rows.Count, "B").End(xlUp).Row
' Copier et coller la valeur de F27 de PROG dans la colonne B de REG
wsREG.Cells(lastRowB + 1, "B").Value = wsCT.Range("F27").Value
' Déterminer le numéro d'ordre pour la nouvelle ligne
ordre = 1 ' Initialise l'ordre à 1 par défaut
If lastRowC > 1 Then
' Si des données sont déjà présentes, incrémente le dernier numéro d'ordre
ordre = wsREG.Cells(lastRowC, "C").Value + 1
End If
' Coller le numéro d'ordre dans la colonne C de REG
wsREG.Cells(lastRowC + 1, "C").Value = ordre
End Sub
Bonsoir
Ce code place les numéros d'ordre, mais commence par 2 dans la deuxième ligne par laquelle les numéros d'ordre commencent, car la première ligne a des en-têtes de colonne
Je veux commencer par 1
' Déterminer le numéro d'ordre pour la nouvelle ligne
ordre = 1 ' Initialise l'ordre à 1 par défaut
If lastRowC > 1 Then
' Si des données sont déjà présentes, incrémente le dernier numéro d'ordre
ordre = wsREG.Cells(lastRowC, "C").Value
End If
' Coller le numéro d'ordre dans la colonne C de REG
wsREG.Cells(lastRowC + 1, "C").Value = ordre + 1
Bonsoir hichamp2610
Avec un fichier joint, les réponses viendraient surement plus vite.
Papy Henri
Bonsoir Forum
J’ai trouvé la solution et je la partage avec vous à toutes fins utiles.
ordre=0
' Déterminer le numéro d'ordre pour la nouvelle ligne
ordre = 0
If lastRowC > 1 Then
' Si des données sont déjà présentes, incrémente le dernier numéro d'ordre
ordre = wsREG.Cells(lastRowC, "C").Value
End If
' Coller le numéro d'ordre dans la colonne C de REG
wsREG.Cells(lastRowC + 1, "C").Value = ordre + 1
End Sub