Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Générateur de mot automatiquement selon une liste définie

ColinWOOD

XLDnaute Nouveau
Salut !

J'ai grandement besoin d'aide...


En gros je voudrais générer de manière automatique toutes les possibilité de nom avec les deux mots. Mais je ne sais pas comment m'y pendre. J'ai trouvé une technique super longue... Et là ça va il n'y a que 8 mots mais moi j'en ai 400 !

Si vous avez une solution je suis preneur !!!!

Merci par avance
 
Solution
re
c'est pourtant simple
dans le module thisworkbook tu met
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect([A:B], Target) Is Nothing Then test
End Sub
Sub test()
    Dim tablo, tablo2, ligne&, col&
    tablo = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Resize(, 2).Value
    ReDim tablo2(1 To UBound(tablo), 1 To UBound(tablo) + 1)
    For ligne = 1 To UBound(tablo)
        For col = 1 To UBound(tablo)
            tablo2(ligne, col) = tablo(ligne, 1) & " " & tablo(col, 2)
        Next
    Next
[D1].Resize(UBound(tablo), UBound(tablo)) = tablo2
End Sub
comme ça des un changement ça te met le tableau a jour


c'est du travail mâché

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Par VBA.
Code dans le module de la feuille "Feuil1":
VB:
Sub MarionsLes()
Dim t1, t2, i&, j&
   Range(Range("e2"), Range("e2").End(xlToRight).End(xlDown)).Clear
   t1 = Range("a1").Resize(Cells(Rows.Count, "a").End(xlUp).Row)
   t2 = Range("b1").Resize(Cells(Rows.Count, "b").End(xlUp).Row)
   If Not IsArray(t1) Or Not IsArray(t2) Then Exit Sub
   ReDim t(1 To UBound(t1) - 1, 1 To UBound(t2) - 1)
   For i = 2 To UBound(t1): For j = 2 To UBound(t2): t(i - 1, j - 1) = t1(i, 1) & " " & t2(j, 1): Next j, i
   Range("e2").Resize(UBound(t), UBound(t, 2)) = t
End Sub

edit : bonjour @Usine à gaz
 

Pièces jointes

  • ColinWOOD- couples- v2.xlsm
    17.6 KB · Affichages: 4
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
c'est pourtant simple
dans le module thisworkbook tu met
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect([A:B], Target) Is Nothing Then test
End Sub
Sub test()
    Dim tablo, tablo2, ligne&, col&
    tablo = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Resize(, 2).Value
    ReDim tablo2(1 To UBound(tablo), 1 To UBound(tablo) + 1)
    For ligne = 1 To UBound(tablo)
        For col = 1 To UBound(tablo)
            tablo2(ligne, col) = tablo(ligne, 1) & " " & tablo(col, 2)
        Next
    Next
[D1].Resize(UBound(tablo), UBound(tablo)) = tablo2
End Sub
comme ça des un changement ça te met le tableau a jour


c'est du travail mâché
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…