idemanz7
XLDnaute Nouveau
Bonjour,
débutant sur VBA, j'ai besoin de votre aide
j'ai un code qui permet de gérer 2 colonnes de mon tableau et dupliquer enJ si condition.
La condition c'est si il trouve un "/" sur mes données qui sont de format (0000/00) il duplique en 2 cellule la colonne "A" et son résultat la colonne "B" , à la base la colonne B est vide.
j'ai deux variantes sur ma colonne "A" format "0000/00" si ce n'est "0000"
quoi que quand je duplique la colonne "A" et "B" les autres colonnes de mon tableau ne duplique pas et du coup ça crée un décalage sur mes données
voici le code que j'utilise :
voila un exemple de décalage de mes données, sur les lignes en jaune, normalement je dois avoir la même valeur sur ma colonne D "Relation"
Tous aide sera précieux Merci !
débutant sur VBA, j'ai besoin de votre aide
j'ai un code qui permet de gérer 2 colonnes de mon tableau et dupliquer enJ si condition.
La condition c'est si il trouve un "/" sur mes données qui sont de format (0000/00) il duplique en 2 cellule la colonne "A" et son résultat la colonne "B" , à la base la colonne B est vide.
j'ai deux variantes sur ma colonne "A" format "0000/00" si ce n'est "0000"
quoi que quand je duplique la colonne "A" et "B" les autres colonnes de mon tableau ne duplique pas et du coup ça crée un décalage sur mes données
voici le code que j'utilise :
Code:
Sub copy_numerisation()
Dim dl As Long, pl As Range, c As Range, T 'pl=plage 'c=cellule 'dl=dernière ligne
If Range("B2").Text <> "" Then Exit Sub ' --->> pour ne pas risquer de refaire sur ce qui est fait.
dl = Range("A" & Rows.Count).End(xlUp).Row
Range("B2:B" & Rows.Count).NumberFormat = "0000"
Set pl = Range("A2:A" & dl)
ReDim T(1 To dl + WorksheetFunction.CountIf(pl, "*/*"), 1 To 2)
ou = 1
For Each c In pl
T(ou, 1) = c.Text
pos = InStr(c.Text, "/")
If pos = 0 Then
T(ou, 2) = c.Text: ou = ou + 1
Else
T(ou, 1) = c.Text
T(ou, 2) = Left(c.Text, pos - 1)
T(ou + 1, 1) = c.Text
T(ou + 1, 2) = Left(c.Text, 2) & Mid(c.Text, pos + 1)
ou = ou + 2
End If
Next
Range("A2:B" & UBound(T, 1)).Value = T
Range("A2:A" & Rows.Count).NumberFormat = "0000"
End Sub
voila un exemple de décalage de mes données, sur les lignes en jaune, normalement je dois avoir la même valeur sur ma colonne D "Relation"
Tous aide sera précieux Merci !