Transposition par lot

Bonjour à toutes et à tous

Je n'arrive pas à faire ce que je veux , n'étant pas assez "expert" en VBA et ne trouvant que des bride de réponse à ma question !

Ce que j'ai : une colonne en "C" avec des valeurs numérique et alphanumérique ( plus de 1000)

Ce sont des valeurs que l'on peut séparées en groupe avec un "commun" qui fera la séparation

Et ce "commun" est la dernière valeur du groupe

Ce que je voudrais : (en vba ) collectionner un groupe qui va du "commun" jusqu'à l'autre "commun" situé au dessus (ou groupe qui démarre après le commun et va jusqu'au commun suivi en le prenant)

copier ce groupe

aller le transposer avec pour début la cellule "K9"

Ensuite reprendre le groupe suivant , pour le transposer à la suite ., en "K10"

En sachant que les groupe n'ont pas le même nombre de cellule .

Je vous remercie d'avance de solutionner mon problème , qui je pense pour vous , n'en posera pas .

Slts

Bonjour

Un fichier est TOUJOURS le bienvenu

A+ François

Bonjour

Oui je sais qu'un fichier est plus explicatif

J'avais bien créer un fichier dans ce but ,

mais au moment de l'envoyer j'ai eu un doute : mon fichier comporte t'il des données perso ! "

Donc ma question est : comment être certain qu'il n'en contient pas (données cachées , invisibles au commun des mortels mais accessible a une personne mal intentionnée ) ?

Je suis allé dans "propriétés du fichier " ai cocher la case "supprimer les données perso " "faire une copie" mais cela suffit il ?

Merci de lever mes doutes

bonjour Kyles,

Outre ce que tu as déjà fait, tu dois vérifier que dans ton fichier toutes les données qui permettent d'identifier une personne ou ses avoirs (nom, date de naissance, téléphone, mail, adresse, immatriculation, ...) sont bien anonymisées.

Merci de votre réponse

Hormis ce que j'ai déjà fait , que faire de plus ? (et comment )

Slts

Merci de votre réponse

Hormis ce que j'ai déjà fait , que faire de plus ? (et comment )

Slts

Bonjour à tous,

S'il reste des données à masquer (ne limitant pas le calcul bien entendu), vous pouvez utiliser ceci Anonymisation de données pour Excel

Ensuite, glissez votre fichier dans le message pour le partager.

Parfait, vous tenez à garder le coloriage des cellules ? Ca implique de travailler avec des copier/coller ce qui est un peu plus lent sur un grand nombre de données.

Il faut revenir à la ligne à chaque "final", c'est bien ça ?

Bonjour saboh

je préfèrerait garder le coloriage des cellules , pour moi ce sera plus facile pour faire un trie par la suite

Oui revenir a la ligne situées juste en dessous

Bonjour à tous !

Une approche via Power Query (nativement intégré dans Excel 2019) ?

Un tableau structuré (tSource) a été inséré pour les valeurs en colonne C.

Si la source évolue, un simple " Actualiser tout " (via le ruban par exemple) retournera un tableau à jour.

Quelle rapidité Quelle efficacité !

Le résultat est exactement ce que je recherchais .

J'avais essayé aussi avec quéry , mais sans succès

Un grand merci

Bonjour à tous de nouveau !

Bien....

Je vous remercie de ce retour. (et pour votre enthousiasme !)

====> Ne pas oublier de passer le sujet en mode résolu !

J'ai transposé mes valeurs perso dans la zone a partir de C5

Ca marche dans la majorité des cas , mais parfois

lorsque la cellule contient par exemples " kfjifjj 25 final " , ca ne marche pas

parce qu'on demande le mot "final " seul dans la cellule .

Comment modifier pour prendre les cellule qui contiennent , a leur fin , le mot "final"

Merci

Désolé : je sais que ce n'est pas visible dans mon premier fichier

Bonjour à tous !

La cellule "kfjifjj 25 final" du groupe doit être scindée dans trois cellules ("kfjifjj", "25" et "final") ou être reportée à l'identique ?

Non , on retranscrit le contenu de cette cellule complètement et en l'utilisant pour faire la bascule de série

Bonjour à tous de nouveau !

En espérant avoir correctement interprété votre conception de la retranscription :

Je vous remercie de votre patience

La versdion N°2 correspond exactement à ce que je voulais .

J'ai, pu mettre mes 2256 lignes en lots .

Un grand merci

Maintenant , je vais essayer de comprendre vos formule dans query

Je marque cette question comme résolue .

Bonjour à tous de nouveau !

Bien....

Je vous remercie de ce retour.

Bonjour le forum,

Kyles, comme tu demandais une solution en VBA, en voilà une :

Résultat au regard de la requête de JFL pour comparaison

Option Explicit
Sub test()
    Dim a, b, i As Long, ii As Long, n As Long, t(1) As Long
    With Sheets("Base")
        a = .Range("c5", .Range("c" & .Rows.Count).End(xlUp)).Value
        ReDim b(1 To UBound(a, 1), 1 To 1)
        For i = 1 To UBound(a, 1)
            If InStr(1, a(i, 1), "Final", vbTextCompare) = 0 Then
                n = n + 1: ii = 0: t(0) = 1
                Do While InStr(1, a(i + ii, 1), "Final", vbTextCompare) = 0
                    If UBound(b, 2) < t(0) Then ReDim Preserve b(1 To UBound(b, 1), 1 To UBound(b, 2) + 1)
                    b(n, t(0)) = a(i + ii, 1)
                    ii = ii + 1: t(0) = t(0) + 1
                    If i + ii > UBound(a, 1) Then Exit Do
                Loop
                i = i + ii - 1
            Else
                If UBound(b, 2) < t(0) Then ReDim Preserve b(1 To UBound(b, 1), 1 To UBound(b, 2) + 1)
                b(n, t(0)) = a(i, 1)
                t(0) = t(0) + 1
            End If
            If t(1) < t(0) - 1 Then t(1) = t(0) - 1
        Next
        With .[o20].Resize(n, t(1))
            .Value = b
            .Font.Name = "calibri"
            .Font.Size = 10
            .VerticalAlignment = xlCenter
            .Borders(xlInsideVertical).Weight = xlThin
            .BorderAround Weight:=xlThin
        End With
    End With
End Sub

klin89

Rechercher des sujets similaires à "transposition lot"