XL 2010 Récupération Cellule

NICOALBERT

XLDnaute Occasionnel
Bonsoir le Forum ,

Je viens vers vous car j'ai un soucis avec un fichier .

Après de multiple recherche sur le forum et d'autre site pas moyen de résoudre mon soucis.

Je cherche à récupérer en VBA plusieurs cellule correspondant à un même numéro dans la feuille "Base"et les mettre dans une seul cellule à la suite en gardant leur couleur de texte dans la feuille "Resultat" .

Je ne sait pas si je m'explique bien , je vous joint un fichier exemple qui parlera mieux .

Cdlt Nicoalbert .
 

Pièces jointes

  • récupération cellule.xlsm
    10.1 KB · Affichages: 15

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nico,
Un essai en PJ à vérifier.
J'ai testé quelques combinaisons sans problème.
Pour l'instant il n'y a aucune sécurité ( Désignation vide, N° absent ... )
On pourra peaufiner si ça marche.
 

Pièces jointes

  • Copie de récupération cellule.xlsm
    20.3 KB · Affichages: 4
Dernière édition:

NICOALBERT

XLDnaute Occasionnel
Bonjour sylvanu , le Forum,

Je vient de faire l'essai de ton fichier et il marche très bien et je t'en remercie.

Mais lorsque je modifie les N° dans ma feuille "Base" , la macro ne le reconnait pas (exemple si à la place de 1 je met 67 ).

Serait-il possible en fait que dans la feuille "Resultat" on liste les N° différent (de la feuille "Base") et ensuite faire le fusionnage en fonction des N° présent dans cette feuille .

Encore un grand merci pour ton aide .
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Voilà une V3 avec :
1- La reconstruction de la liste de N°
2- La non prise en compte des lignes masquées dans la base.
Après vérif, si tout est bon, il faut remettre la première ligne opérationnelle.
'Application.ScreenUpdating = False en retirant l'aspostrophe, ça accélérera grandement le processus de mise à jour.
 

Pièces jointes

  • Copie de récupération cellule (V3).xlsm
    28.3 KB · Affichages: 5

NICOALBERT

XLDnaute Occasionnel
Est il possible d'ajouter des lettre , car en général les n° de devis on des lettres et des chiffres ?.

Désolé , j'aurais du bien préciser tout ça au début car je suis conscient qu'au vu du boulot abattu ça te fait faire beaucoup de modif pour rien :(:( .
 

job75

XLDnaute Barbatruc
Bonsoir NICOALBERT, sylvanu,

Voyez le fichier joint et cette macro dans le code de la feuille "Resultat" :
VB:
Private Sub Worksheet_Activate()
Dim d As Object, i&, v, col&, n&, resu$(), a, s1, s2, j%, k%
'---tableau des résultats---
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare 'la casse est ignorée
With Sheets("Base").[A1].CurrentRegion
    For i = 2 To .Rows.Count
        v = .Cells(i, 1).Value
        If d.exists(v) Then
            col = d(v)
            resu(1, col) = resu(1, col) & vbLf & .Cells(i, 2)
            resu(2, col) = resu(2, col) & " " & Len(.Cells(i, 2))
            resu(3, col) = resu(3, col) & " " & .Cells(i, 2).Font.Color
        Else
            n = n + 1
            d(v) = n 'mémorise la colonne
            ReDim Preserve resu(1 To 3, 1 To n)
            resu(1, n) = .Cells(i, 2)
            resu(2, n) = Len(.Cells(i, 2))
            resu(3, n) = .Cells(i, 2).Font.Color
        End If
    Next i
End With
If n Then a = d.keys
'---restitution---
Application.ScreenUpdating = False
With [A2] '1ère cellule de destination, à adapter
    .Cells(1, 2).Resize(Rows.Count - .Row + 1).Font.ColorIndex = xlAutomatic
    For i = 1 To n
        .Cells(i, 1) = a(i - 1)
        .Cells(i, 2) = resu(1, i)
        s1 = Split(resu(2, i)) 'longueur
        s2 = Split(resu(3, i)) 'couleur
        k = 1
        For j = 0 To UBound(s1)
            .Cells(i, 2).Characters(k, s1(j)).Font.Color = s2(j)
            k = k + s1(j) + 1
    Next j, i
    If n Then .Resize(n).EntireRow.AutoFit 'ajustement hauteurs
    .Offset(n).Resize(Rows.Count - n - .Row + 1).EntireRow.Delete 'RAZ en dessous
End With
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub
Elle se déclenche quand on active la feuille.

Edit : j'ai repris les numéros de devis de sylvanu.

A+
 

Pièces jointes

  • récupération cellule(1).xlsm
    21.1 KB · Affichages: 4
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 095
Messages
2 085 252
Membres
102 837
dernier inscrit
CRETE