J’ai dans ma feuille « base » des codes agent en colonne A et des destinations en colonne B
Pour 1 même agent je peux avoir plusieures destinations
j’aurais besoin de convertir dans ma feuille « résultat » pour avoir qu’une ligne par agent mais les destinations dans des colonnes
un exemple en PJ avec l’onglet résultat ce que je voudrais obtenir
j’ai tenté le code suivant sans succès
j’ai un souci de compréhension sur la « valeur pivot »
Sub ConvertRowsToColumns()
Dim ws As Worksheet
Dim wsOutput As Worksheet
Dim lastRow As Long
Dim pivotValue As String
Dim startRow As Long
Dim i As Long, j As Long
Dim outputRow As Long
' Définir les feuilles de travail
Set ws = ThisWorkbook.Sheets("base") ' Remplacez par le nom de votre feuille de calcul
Set wsOutput = ThisWorkbook.Sheets("résultat") ' Remplacez par le nom de votre feuille de sortie
' Définir la valeur pivot
pivotColumn = 1
pivotValue = "123456" ' Remplacez par votre valeur pivot
startRow = 2 ' La ligne de départ (ignorer les en-têtes par exemple)
' Trouver la dernière ligne de la feuille de calcul
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Initialiser la ligne de sortie
outputRow = 2
' Parcourir les lignes de la feuille d'entrée
For i = startRow To lastRow
If ws.Cells(i, 1).Value = pivotValue Then
' Si la valeur pivot est trouvée, copier les valeurs dans des colonnes
j = 2
Do While ws.Cells(i, j).Value <> ""
wsOutput.Cells(outputRow, j - 1).Value = ws.Cells(i, j).Value
j = j + 1
Loop
outputRow = outputRow + 1
End If
Next i
Bonjour
Je serais intéresser si l’on pouvait aussi reconnaitre la destination (France, Angleterre…) et y placer la ville correspondante, en sachant qu’il ne peut avoir qu’une destination par pays / par agent.
Donc si Paris existe, Nimes ne pourra pas être une destination (France) pour le même agent ou
si Nimes existe, Paris ne pourra pas être une destination (France) pour le même agent.
Bonjour
Cela fonctionne sur 2016 sous windows
et bug sous la version 2016 sous Mac code erreur d’exécution « 429 »
Un composant d’activeX ne peut pas crée d’objet.
Il bloque sur:
Set Dict = CreateObject(« scripting.dictionary ») 'cr_er un dictionaire
Auriez-vous une solution?
Un grand merci car j’utilise essentiellement Mac.
Bien à vous
Jean-Léon
Bonjour
Cela fonctionne à moitié, j’ai ajouté Allemagne comme pays et attribué le premier agent à la ville de Bonn.
Le résultat m’indique que l’agent va bien à Bonn mais situé en France.
Bien à vous test conversion ligne-colone-Trie(2).xlsm (26,9 Ko)
oui, vous avez raison, il y avait une erreur pour les pays. test conversion ligne-colone-Trie(2).xlsm (34,1 Ko)
(J’avais aussi un problème avec l’accent de la feuille « Résultat » dans VBA, maintenant c’est sans accent.