Merci Michel pour ton aide
J'au un pb que j'arrive pas à solutionner mais tjs lié à ta solution qui en tient compte.
Pb de If à la fin.
J'ai récupéré cette macro sur un exemple du site (Merci Yehaou - une sorte de chat pratiquant VBA) et ça bloque après mes ajustements.
La macro fait la chose suivante :
Envoyer des data en vérifiant que le nom saisi en cellule B2 d'une feuille 'Timesheet' d'un fichier ouvert appartient à une liste intitulée 'Liste_Staff' (liste située sur un autre
La macro envoie des données d'une feuille vers une autre workbook.
Sub Envoie_Data()
Dim Liste_Staff As Variant, Compteur As Long, Test As Boolean
With ThisWorkbook
With .Worksheets('Liste_Staff')
Liste_Staff = .Range('B2:B' & .Range('B65536').End(xlUp).Row).Value
End With
If Range('I8').Value = '' Then
MsgBox 'Pas de Nom de Famille, donc il n'y a rien à exporter, arrêt de la macro !', vbCritical + vbOKOnly, 'Erreur...'
Else
Test = False
For Compteur = LBound(Liste_Staff) To UBound(Liste_Staff)
If StrComp(Range('I8').Value, Liste_Staff(Compteur, 1), 1) = 0 Then Test = True: Exit For '(ici je verifie si nom en B2 appartient à Liste_Staff)
Next Compteur
If Test = True Then
With ThisWorkbook.Sheets('Allocation_Country')
With .Range('A65536').End(xlUp).Offset(1, 0)
.Value = Range('I8').Value
.Offset(0, 1).Value = Range('I9').Value
(et ici je transfere mes données ds les bons onglets avec D15😀53 zone à transferer)
With Sheets('Timesheet').Range('D15😀53').Copy
Sheets('Allocation_Country').Range('A65536').End(xlUp).Offset(0, 2).PasteSpecial Transpose:=True
End With
With ThisWorkbook.Sheets('Allocation_Projet')
With .Range('A65536').End(xlUp).Offset(1, 0)
.Value = Range('I8').Value
.Offset(0, 1).Value = Range('I9').Value
End With
Sheets('Timesheet').Range('D56😀73').Copy
Sheets('Allocation_Projet').Range('A65536').End(xlUp).Offset(0, 2).PasteSpecial Transpose:=True
End With
MsgBox 'Les données ont été envoyées avec succès !', vbOKOnly + vbInformation
Else
(Me mets un message Else sans IF et j'arrive pas à trouver le pb)
MsgBox 'ce nom n'est pas dans la liste, veuillez l'ajouter', vbOKOnly + vbInformation
End If
End If
End With
End Sub
si tu peux m'aider Michel, je t'en remercie
a+
HELP