Pb rappatriement données Part 2 (phase test ok mais pb sur 10+ entrées)
Bonjour,
Je réalise un fichier excel d'analyse à l'aide de VBA. Ce fichier doit pouvoir permettre, à partir d'une dizaine de fichiers d'entrée qui sont tous au même format (excel aussi) contenant des notes dans divers domaines allant de A à D avec commentaires assossiés de :
- Partie 1 : De rapatrier les notes (A,B,C,D) de chaque fichier d'entrée dans chaque domaine : de C2 à C23 dans chaque fichier dans le tableau du fichier d'analyse excel dans l'onglet "Note dom par CNPE 2020";
- Partie 2 : De trier tous les commentaires (de D2 à D23 dans chaque fichier) : les commentaires des notes A en colonne D, ceux de B en colonne E, ceux de C ou D en colonne F dans le fichier d'analyse dans l'onglet "Forces-Faiblesses".
La Partie 1 est OK mais la partie 2 comporte un problème dans la macro.. En effet, elle fonctionne à première vue, d'ailleurs elle fonctionne sur des fichiers tests cependant.. le tri ne se fait pas comme cela devrait être, certains commentaires avec note D se retrouve par exemple avec ceux des notes B, d'autres disparaissent.. Je ne comprends pas pourquoi.. Peut-être pouvez-vous m'aider.
Sub Extraction_ecoute()
Dim nb_site As String
Dim site As String
nb_site = CStr(Workbooks("Ecoute-client_global_final.xlsm").Sheets("Paramètres").Cells(2, 6))
'Définition du fichier d'entrée (extraction)
Dim classeur As Workbook
Dim chemin As Variant
'DEBUT MACRO
'PARTIE 1 : EXTRACTION DES NOTES DES GRILLES ECOUTE-CLIENT SUR LES FICHIERS D'ORIGINE // PREMIERE PARTIE OK
For i = 2 To nb_site
site = CStr(Workbooks("Ecoute-client_global_final.xlsm").Sheets("Paramètres").Cells(i, 1))
'macro permettant à l'utilisateur d'aller chercher le fichier d'entrée grille écoute client et de l'ouvrir en fonction du site demandé
chemin = Application.GetOpenFilename(Title:="Emplacement du fichier contenant la grille écoute client " & Workbooks("Ecoute-client_global_final.xlsm").Sheets("Paramètres").Cells(i, 1))
If chemin = False Then Exit Sub
Set classeur = Workbooks.Open(chemin)
'macro choix d'extraction en fonction du site
Select Case site
Case "BE"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("C3").Select
ActiveSheet.Paste
Case "BL"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("D3").Select
ActiveSheet.Paste
Case "BU"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("E3").Select
ActiveSheet.Paste
Case "CA"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("F3").Select
ActiveSheet.Paste
Case "CS"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("H3").Select
ActiveSheet.Paste
Case "CV"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("I3").Select
ActiveSheet.Paste
Case "CZ"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("J3").Select
ActiveSheet.Paste
Case "CH"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("G3").Select
ActiveSheet.Paste
Case "DA"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("K3").Select
ActiveSheet.Paste
Case "FL"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("M3").Select
ActiveSheet.Paste
Case "GR"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("O3").Select
ActiveSheet.Paste
Case "GO"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("N3").Select
ActiveSheet.Paste
Case "NO"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("P3").Select
ActiveSheet.Paste
Case "PE"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("R3").Select
ActiveSheet.Paste
Case "PA"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("Q3").Select
ActiveSheet.Paste
Case "SL"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("T3").Select
ActiveSheet.Paste
Case "SA"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("S3").Select
ActiveSheet.Paste
Case "TN"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("U3").Select
ActiveSheet.Paste
Case "FE"
classeur.Activate
Range("C2:C23").Select
Selection.Copy
Windows("Ecoute-client_global_final.xlsm").Activate
Sheets("Note dom par CNPE " & CStr(Sheets("Paramètres").Range("F2"))).Activate
Range("L3").Select
ActiveSheet.Paste
End Select
'DEUXIEME PARTIE : Tri des commentaires pour analyse Forces et Faiblesses en fonction de la note associée // PB ICI
'Fonctionne sur le fichier test mais pas sur l'ensemble des grilles des différents sites
Set wss = classeur.Sheets(1)
Set wsd = ThisWorkbook.Sheets("Forces-Faiblesses")
With wsd
wss.Range("D2:D23").Copy .Range("L2:L23")
For j = 2 To 23
If wss.Range("C" & j) = "A" Then
.Range("D" & j) = CStr(.Range("D" & j)) & vbCrLf & CStr(.Range("L" & j))
ElseIf wss.Range("C" & i) = "B" Then
.Range("E" & j) = CStr(.Range("E" & j)) & vbCrLf & CStr(.Range("L" & j))
ElseIf wss.Range("C" & j) = "C" Or wss.Range("C" & j) = "D" Then
.Range("F" & j) = CStr(.Range("F" & j)) & vbCrLf & CStr(.Range("L" & j))
End If
Next j
End With
classeur.Close
Next
End Sub