Je veux faire une fonction qui recherche 5 suite de caractères différentes et suivant la suite de caractère trouvé, je veux écrire dans une colonne face à la cellule un code différent suite la suite trouvée.....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub CommandButton1_Click() Dim i As Integer, j As Integer, macol As Integer, quoi As String Dim mesrefs, mesfeuilles, mesou, tablo mesrefs = Array(" 19 ", " 22 ", " 36 ", " 40 ", " 42 ") '<<=== ici tes références à répartir mesfeuilles = Array("Feuil7", "Feuil8", "Feuil9", "Feuil10", "Feuil11") '<<<=== ici tes feuilles d'accueil mesou = Array(1, 1, 1, 1, 1) With Sheets(6) ' <<<<====== ici ta feuille actuelle des données à répartir macol = .UsedRange.Columns.Count + 1 tablo = .Range("A1:A" & .UsedRange.Rows.Count).Value For i = 1 To UBound(tablo) quoi = " " & Replace(tablo(i, 1), """", " ") & " " For j = 0 To UBound(mesrefs) If InStr(quoi, mesrefs(j)) Then .Range("A" & i).EntireRow.Copy Destination:=Sheets(mesfeuilles(j)).Range("A" & mesou(j)) mesou(j) = mesou(j) + 1 .Cells(i, macol).Value = mesfeuilles(j) Exit For End If Next Next End With End Sub
Private Sub CommandButton1_Click() Dim i As Integer, j As Integer, macol As Integer, quoi As String Dim mesrefs, mesfeuilles, mesou, tablo mesrefs = Array(" 19 ", " 22 ", " 36 ", " 40 ", " 42 ") '<<=== ici tes références à répartir mesfeuilles = Array("Feuil7", "Feuil8", "Feuil9", "Feuil10", "Feuil11") '<<<=== ici tes feuilles d'accueil mesou = Array(1, 1, 1, 1, 1) With Sheets(6) ' <<<<====== ici ta feuille actuelle des données à répartir macol = .UsedRange.Columns.Count + 1 tablo = .Range("A1:A" & .UsedRange.Rows.Count).Value For i = 1 To UBound(tablo) If Not IsError(tablo(i, 1)) Then ' <<<<============ ne pas traiter si valeur en erreur quoi = " " & Replace(tablo(i, 1), """", " ") & " " For j = 0 To UBound(mesrefs) If InStr(quoi, mesrefs(j)) Then .Range("A" & i).EntireRow.Copy Destination:=Sheets(mesfeuilles(j)).Range("A" & mesou(j)) mesou(j) = mesou(j) + 1 .Cells(i, macol).Value = mesfeuilles(j) Exit For End If Next End If Next End With End Su
MsgBox .Range("A1:A" & .UsedRange.Rows.Count).Address
For i = 1 To UBound(tablo)
With Sheets(6) ' <<<<====== ici ta feuille actuelle des données à répartir
mesfeuilles = Array("Feuil7", "Feuil8", "Feuil9", "Feuil10", "Feuil11") '<<<=== ici tes feuilles d'accueil
.....
mesrefs = Array(" 19 ", " 22 ", " 36 ", " 40 ", " 42 ") '<<=== ici tes références à répartir
mesfeuilles = Array("Feuil2", "Feuil3", "Feuil4", "Feuil5", "Feuil6") '<<<=== ici tes feuilles d'accueil
mesou = Array(1, 1, 1, 1, 1)
With Sheets("Feuil1") ' <<<<====== ici ta feuille actuelle des données à répartir
.....