surtout 5 enfants qui croient qu'un papa est soit une CB, soit un chauffeur de taxi :-)))
Lol ! ah ben oui... pendu à un clou en quelque sorte
Voici les modifications à faire. suivez bien pas à pas sans sauter une ligne :
1. Allez dans la feuille Retour et en C2, remplacez Quant par Retour
2. Supprimez la formule Sommeprod en colonne C (on en a plus besoin)
3. Faites un click droite sur le nom de l'onglet COM
4. choisissez l'option "Visualiser le code". Cela vous amène dans l'éditeur VBA (car oui, on doit passer par code VBA)
5. dans le menu, choisissez "Insertion" --> "Module". Cela vous met à droite une fenetre vide
6. Dans la fenêtre, collez le code ci-dessous
Option Explicit
Sub Importer()
Dim dlg As Integer
Dim rng As Range
Dim lig As Byte
Dim i As Integer
Sheets("Retour").Range("A:B").ClearContents 'effacer colonne A et B dans la feuille Retour
With ActiveSheet
dlg = .Range("A" & Rows.Count).End(xlUp).Row
Set rng = .Range("A1:B" & dlg)
End With
rng.Copy
With Sheets("Retour")
.Range("A1").PasteSpecial Paste:=xlPasteValues
On Error Resume Next
Set rng = .Range("A1:A" & dlg).SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rng Is Nothing Then
rng.EntireRow.Delete 'Shift:=xlUp
End If
dlg = .Range("A" & Rows.Count).End(xlUp).Row
Set rng = .Range("A2:A" & dlg)
On Error Resume Next
lig = rng.Find("*Fournisseur*", LookIn:=xlValues, lookat:=xlWhole).Row
If lig = 0 Then Exit Sub
.Range("A" & lig & ":B" & lig + 4).Delete Shift:=xlUp
Dim lg As Integer
For i = dlg To lig Step -1
If .Range("A" & i) = "" Or .Range("A" & i) Like "*Fournisseur*" Then
.Range("A" & i).EntireRow.Delete
Else
On Error Resume Next
lg = rng.Find(.Range("A" & i).Value, LookIn:=xlValues, lookat:=xlWhole).Row
If lg > 0 Then
.Range("B" & lg) = .Range("B" & i) + .Range("B" & lg)
.Range("A" & i).EntireRow.Delete
lg = 0
End If
End If
Next i
dlg = .Range("A" & Rows.Count).End(xlUp).Row
.Range("E2:N2").AutoFill Destination:=.Range("E2:N" & dlg), Type:=xlFillDefault
End With
End Sub
7. Enregistrez votre fichier en choisissant l'extension XLSM (cette extension est nécessaire pour utiiiser les macros)
Une fois terminé, testez comme ceci :
1. Positionnez-vous sur la feuille COM (TRES important !!!)
2. Allez dans le menu excel AFFICHAGE --> cliquez sur l'icone MACROS (tout à droite)
3. Sélectionnez le code IMPORTER
4. cliquez sur le bouton "Exécuter"
Il vous reste à aller voir le résultat dans la feuille retour et surtout me faire vos commentaires sur ce qui vous convient ou les améliorations souhaitées
NB :
- Pour ma part, je pense que mettre un bouton sur votre feuille COM, serait utile. cela vous obligerait à bien partir de la feuille COM
- La proposition suppose que vous avez toujours bien les mêmes infos depuis A40 à A47 avec A42, A45 et A46 vides
Si tout ok et terminé pensez à
Cordialement