christine854
XLDnaute Junior
Bonjour à tous
J'ai un classeur dans lequel je souhaiterai inscrire automatiquement des dates en fonction de la présence du texte "test" dans une colonne pour chaque numéro correspondant et faire un copier-coller d’une de ces dates dans une autre feuille pour le numéro correspondant
Dans le feuille 2 en fonction des conditions la colonne T et (ou) U réceptionneront les dates.*
Dans la feuille 1 en fonction des conditions la colonne AW réceptionne le copier-coller*
Dates = format dd/mm/yyyy mois en cours -1 figer le jour au 01.
*pour chaque numéro correspondant
Si date en T et U = suppression des dates existante en T et U pour le numéro concerné.
Si "test" en colonne C et si pas de date en colonne T pour le numéro correspondant = date (format dd/mm/yyyy) en colonne T pour le numéro correspondant et copier-coller de cette date en feuille 1 colonne AW pour le numéro correspondant.
Si présence du texte "test" en colonne C et si présence de date en colonne T pour le numéro correspondant = copier-coller de cette date en feuille 1 colonne AW pour le numéro correspondant.
Si pas de présence du texte "test" en colonne C et si pas de présence de date en colonne T pour le numéro correspondant = aucune action.
Si pas de présence du texte "test" en colonne C et si présence de date en colonne T pour le numéro correspondant = date (format dd/mm/yyyy) en colonne U pour le numéro correspondant.
J’ai tenté quelque chose en vba mais sans résultat
	
	
	
	
	
		
	
		
			
		
		
	
				
			J'ai un classeur dans lequel je souhaiterai inscrire automatiquement des dates en fonction de la présence du texte "test" dans une colonne pour chaque numéro correspondant et faire un copier-coller d’une de ces dates dans une autre feuille pour le numéro correspondant
Dans le feuille 2 en fonction des conditions la colonne T et (ou) U réceptionneront les dates.*
Dans la feuille 1 en fonction des conditions la colonne AW réceptionne le copier-coller*
Dates = format dd/mm/yyyy mois en cours -1 figer le jour au 01.
*pour chaque numéro correspondant
Si date en T et U = suppression des dates existante en T et U pour le numéro concerné.
Si "test" en colonne C et si pas de date en colonne T pour le numéro correspondant = date (format dd/mm/yyyy) en colonne T pour le numéro correspondant et copier-coller de cette date en feuille 1 colonne AW pour le numéro correspondant.
Si présence du texte "test" en colonne C et si présence de date en colonne T pour le numéro correspondant = copier-coller de cette date en feuille 1 colonne AW pour le numéro correspondant.
Si pas de présence du texte "test" en colonne C et si pas de présence de date en colonne T pour le numéro correspondant = aucune action.
Si pas de présence du texte "test" en colonne C et si présence de date en colonne T pour le numéro correspondant = date (format dd/mm/yyyy) en colonne U pour le numéro correspondant.
J’ai tenté quelque chose en vba mais sans résultat
		Code:
	
	
	Sub test()
tabloValid = Feuil2.Range("A2:C" & Feuil1.Cells(Rows.Count, 1).End(xlUp).Row)
Dim miniTablo()
Application.ScreenUpdating = False
For i = 1 To UBound(tabloValid)
    With Feuil2
      
       If .Cells(ligneID, 20) = Date _
       And .Cells(ligneID, 21) = Date Then
        .Cells(ligneID, 20) = ""
        .Cells(ligneID, 21) = ""
       Else
          
           ligneID = Application.Match(tabloValid(i, 1), .[A:A], 0)
          
          
            If tabloValid(i, 3) = "test" _
            And .Cells(ligneID, 20) = "" Then
            .Cells(ligneID, 20) = DateSerial(Year(Date), Month(Date) - 1, 1)
            End If
          
            If tabloValid(i, 3) = "test" _
            And .Cells(ligneID, 20) = Date Then
          
            If tabloValid(i, 3) = "" _
            And .Cells(ligneID, 20) = "" Then
          
             If tabloValid(i, 3) = "" _
            And .Cells(ligneID, 20) = Date Then
            .Cells(ligneID, 21) = DateSerial(Year(Date), Month(Date) - 1, 1)
                End If
              
              
                ReDim miniTablo(1 To 8)
                For x = 1 To 8
                    miniTablo(x) = tabloValid(i, x)
                Next x
                If tabloValid(i, 3) = "test" Then
                  
                   Feuil1.Cells(Rows.Count, 49).End(xlUp).Offset(1, 0).Resize(1, 8) = miniTablo
                End If
          
         
             
        End If
    End With
Next i
Application.ScreenUpdating = True
End Sub