Rassemblement automatique des cellules differentes
Bonjour
pourriez vous m'aider a rassembler plusieurs paramètres qui correspond a chaque code dans la colonne A de mon fichier ci joint
1- les lignes qui commencent par WO doivent être supprimés.
2- la commande attendu est (="anbsi:b="+code dans la col A + tous les paramètres dans la même ligne + les paramètres au dessous de la ligne s'ils existent)
on sépare ses paramètres par (,) et on ferme par (;)
merci d'avance pour votre soutien.
Salut Redamento,
- je recherche d'abord la cellule "OPERATING" pour situer la première ligne exploitable : ce mot figure-t-il toujours sur tes BDD ?
- je laisse les lignes "WO" en place.
Un double-clic sur 'anbsp_Brut' démarre la macro, résultats en 'Extract'
For x = 2 To UBound(tTab, 1)
If Left(tTab(x, 1), 2) <> "WO" Then
If (IsNumeric(Left(tTab(x, 1), 1)) And tTab(x, 1) <> "") Or x = UBound(tTab, 1) Then
If tTab(2, 8) = "" Then tTab(2, 8) = "!Table: B= " & Split(tTab(x, 1), "-")(0) & ";"
If lgIdx > 0 And tTab(lgIdx, 8) <> "" Then tTab(lgIdx, 8) = tTab(lgIdx, 8) & ";"
lgIdx = x
End If
For y = 2 To 7
If tTab(x, y) <> "" Then _
tTab(lgIdx, 8) = IIf(tTab(lgIdx, 8) = "", _
"anbsi:b=" & tTab(lgIdx, 1) & "," & tTab(x, y), _
tTab(lgIdx, 8) & "," & tTab(x, y))
Next
End If
Next
A+
bonjour
merci curulis57 pour votre support
le script ca marche bien, sauf l'indication de n de table "table: bo=xx;" s'affiche une seul fois pour la 1ere table 0, pour les autres tables non.
résultat attendu:
!Table: B= 0; ---> au dessus des données de la (table 0) 0-xx
!Table: B= 4; ---> au dessus des données de la (table 4) 4-xx
!Table: B= 5; ---> au dessus des données de la (table 5) 5-xx
!Table: B= 6; ---> au dessus des données de la (table 6) 6-xx
!Table: B= 7; ---> au dessus des données de la (table 7) 7-xx
etc.…..
merci d'avance.
Salut Redamento,
fichier corrigé !
For x = 2 To UBound(tTab, 1)
If InStr(tTab(x, 1), "-") > 0 Or x = UBound(tTab, 1) Then
If x < UBound(tTab, 1) And (CInt(Split(tTab(x, 1), "-")(0)) <> CInt(Split(vNum, "-")(0))) Then _
lgIdx = lgIdx + IIf(lgIdx = 0, 2, 1): _
vNum = tTab(x, 1): _
tExtract(lgIdx, 8) = "!Table: B= " & Split(tTab(x, 1), "-")(0) & ";"
If tExtract(lgStep, 8) <> "" Then tExtract(lgStep, 8) = tExtract(lgStep, 8) & ";"
lgStep = lgIdx + 1
End If
'
If x < UBound(tTab, 1) Then
lgIdx = lgIdx + 1
For y = 1 To 7
If lgIdx = 3 Then tExtract(1, y) = tTab(1, y)
tExtract(lgIdx, y) = IIf(Left(tTab(x, 1), 2) = "WO", "-", tTab(x, y))
If y > 1 And Left(tTab(x, 1), 2) <> "WO" And tTab(x, y) <> "" Then _
tExtract(lgStep, 8) = IIf(tExtract(lgStep, 8) = "", _
"anbsi:b=" & tTab(x, 1) & "," & tTab(x, y), _
tExtract(lgStep, 8) & "," & tTab(x, y))
Next
End If
Next
A+