Bonsoir,
Sur mon fichier dans l'onglet RDV je souhaitais quand je clique sur UNPAID ou autre bouton se trouvant en I1 que les états des paiements s'affichent dans des onglets spécifiques.
Par exemple : Quand je clique sur UNPAID, je souhaite que tous les noms avec l'état NON PAYE de l'onglet RDV se copient dans l'onglet RDV NON PAYES.
Mon souci est que chaque fois que je lance la macro elle copie tous les noms, même ceux déja notés et datés. J'ai donc des doublons avec cette macro.
	
	
	
	
	
		
Je ne sais pas si je peux continuer à l'utiliser en ajoutant une ligne de commande ?
merci pour votre aide.
	
		
			
		
		
	
				
			Sur mon fichier dans l'onglet RDV je souhaitais quand je clique sur UNPAID ou autre bouton se trouvant en I1 que les états des paiements s'affichent dans des onglets spécifiques.
Par exemple : Quand je clique sur UNPAID, je souhaite que tous les noms avec l'état NON PAYE de l'onglet RDV se copient dans l'onglet RDV NON PAYES.
Mon souci est que chaque fois que je lance la macro elle copie tous les noms, même ceux déja notés et datés. J'ai donc des doublons avec cette macro.
		VB:
	
	
	Sub RDVGratuits()
        Dim wsSource As Worksheet
    Dim wsDestination As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim searchWord As String
    
    ' Sur la feuille "RDV"
    Set wsSource = ThisWorkbook.Worksheets("RDV")
    
    ' Copier sur la feuille "RDV GRATUITS" selon les données demandées
    Set wsDestination = ThisWorkbook.Worksheets("RDV GRATUITS")
    
    ' Recherche "GRATUIT"
    searchWord = "GRATUIT"
    
    lastRow = wsSource.Cells(wsSource.Rows.Count, "F").End(xlUp).Row
    
    For i = 1 To lastRow
        If InStr(1, wsSource.Cells(i, "F").Value, searchWord, vbTextCompare) > 0 Then
            wsSource.Rows(i).Copy wsDestination.Rows(wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Row + 1)
        End If
    Next i
End Sub
Sub RDVAnnules()
    Dim wsSource As Worksheet
    Dim wsDestination As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim searchWord As String
    
    ' Feuille "RDV" contenant les données
    Set wsSource = ThisWorkbook.Worksheets("RDV")
    
    ' Copier la recherche dans la feuille "RDV ANNULES"
    Set wsDestination = ThisWorkbook.Worksheets("RDV ANNULES")
    
    ' Rechercher "ANNULE"
    searchWord = "ANNULE"
    
    lastRow = wsSource.Cells(wsSource.Rows.Count, "F").End(xlUp).Row
    
    For i = 1 To lastRow
        If InStr(1, wsSource.Cells(i, "F").Value, searchWord, vbTextCompare) > 0 Then
            wsSource.Rows(i).Copy wsDestination.Rows(wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Row + 1)
        End If
    Next i
End Sub
Sub RDVNonpayes()
       Dim wsSource As Worksheet
    Dim wsDestination As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim searchWord As String
    
    ' Feuille "RDV"
    Set wsSource = ThisWorkbook.Worksheets("RDV")
    
    ' Copier dans la feuille "RDV NON PAYES"
    Set wsDestination = ThisWorkbook.Worksheets("RDV NON PAYES")
    
    ' Rechercher "NON PAYE"
    searchWord = "NON PAYE"
    
    lastRow = wsSource.Cells(wsSource.Rows.Count, "F").End(xlUp).Row
    
    For i = 1 To lastRow
        If InStr(1, wsSource.Cells(i, "F").Value, searchWord, vbTextCompare) > 0 Then
            wsSource.Rows(i).Copy wsDestination.Rows(wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Row + 1)
        End If
    Next i
End SubJe ne sais pas si je peux continuer à l'utiliser en ajoutant une ligne de commande ?
merci pour votre aide.
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		