XL 2013 Insertion de lignes en fonction d'un certain nombre de sites

scamanto024

XLDnaute Nouveau
Bonjour Team,

Je sollicite votre aide svp pour m'aider à mettre en place une macro qui rajoute des lignes en fonction du nombre de site, sur le fichier joint j'ai mis les données à l'état brute (feuille source) ainsi que la version cible:

Chaque cellule de la colonne B contient des sites que je dois décortiquer avant de pouvoir mettre chaque site dans une ligne et copier les autres infos ( N° Ticket, desc, Date...).

PS: les sites ont le format "XXX-1234"

Merci d'avance pour votre aide

Cordialement
 

Pièces jointes

  • exemple.xlsx
    14.9 KB · Affichages: 57
  • exemple.xlsx
    14.9 KB · Affichages: 55

Paf

XLDnaute Barbatruc
Re : Insertion de lignes en fonction d'un certain nombre de sites

bonjour scamanto024,

une solution possible à tester:

Code:
MacroPaf()
 Dim DerL As Long, i As Long, Tabini, TabFin(), TabTemp, Deb As Byte
 Dim MaChaine As String, j As Integer, x As Long
 Dim FS As Worksheet, FC As Worksheet

 Set FS = Worksheets("Source") ' à adapter
 Set FC = Worksheets("Cible") ' à adapter

 DerL = FS.Range("A" & Rows.Count).End(xlUp).Row
 '** passage des dates au format standard pour éviter les pb format date US
 FS.Range("I2:K" & DerL).NumberFormat = "General"
 Tabini = FS.Range("A2:N" & DerL)
 For i = LBound(Tabini) To UBound(Tabini)
    Deb = InStr(Tabini(i, 2), "sur")
    MaChaine = Replace(Right(Tabini(i, 2), Len(Tabini(i, 2)) - Deb - 3), " ", "")
    TabTemp = Split(MaChaine, ",")
    For j = LBound(TabTemp) To UBound(TabTemp)
        x = x + 1
        ReDim Preserve TabFin(1 To UBound(Tabini, 2), 1 To x)
        For k = LBound(Tabini, 2) To UBound(Tabini, 2) - 1
            TabFin(k, x) = Tabini(i, k)
        Next
        TabFin(k, x) = TabTemp(j)
    Next
 Next
 FS.Range("I2:K" & DerL).NumberFormat = "m/d/yyyy h:mm"
 FS.Range("A1:N1").Copy FC.Range("A1")
 FC.Range("A2").Resize(UBound(TabFin, 2), UBound(TabFin, 1)) = Application.Transpose(TabFin)
 FC.Columns("I:K").NumberFormat = "m/d/yyyy h:mm"
End Sub

A+
 
Dernière édition:

scamanto024

XLDnaute Nouveau
Re : Insertion de lignes en fonction d'un certain nombre de sites

reBonjour,

J'ai une petite contrainte que j'ai mal renseigné sur l'exemple joint au 1er message, c'est que la description des alarmes n'est pas forcément standardisé, de ce fait, ça serait pas possible de se baser sur un mot clé :( :(

J'ai mis une 2ème jointure avec des descriptions d'incidents differentes.

Merci bcp pour votre aide

Cordialement
 

Pièces jointes

  • exemple (2).xlsm
    16 KB · Affichages: 47
  • exemple (2).xlsm
    16 KB · Affichages: 49

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 436
Membres
111 136
dernier inscrit
Ahmad Ibnou