comment afficher le n° de colonne et le contenu des cellules non vides d'une ligne ?

rahnarahna

XLDnaute Nouveau
Bonjour,

Novice en la matière, je souahiterais un petit peu d'aide. J'ai un tableau avec 18000 lignes (référence) et 250 colonnes (carton). sur une ligne on peut trouver plusieurs quantité rangé dans différents carton (colonne). Comment je peux faire pour afficher pour chaque référence le ou les cartons et la quantité contenus dans chaque carton.
Le tableau étant trop gros, je ne mettrais qu'un échantillon.


Meric à tous pour votre aide !
 

Pièces jointes

  • recherche n de colonne.xlsx
    8.5 KB · Affichages: 87

bond

XLDnaute Occasionnel
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Place ce code dans Feuil1,
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E5:E10")) Is Nothing Then
    Dim Ligne As Long
    Ligne = Target.Row
    MsgBox IIf(Range("F" & Ligne).Value > 0, Range("F" & Ligne).Value & "x" & Range("F4").Value & Chr(10), "") & _
            IIf(Range("G" & Ligne).Value > 0, Range("G" & Ligne).Value & "x" & Range("G4").Value & Chr(10), "") & _
            IIf(Range("H" & Ligne).Value > 0, Range("H" & Ligne).Value & "x" & Range("H4").Value & Chr(10), "") & _
            IIf(Range("I" & Ligne).Value > 0, Range("I" & Ligne).Value & "x" & Range("I4").Value & Chr(10), "") & _
            IIf(Range("J" & Ligne).Value > 0, Range("J" & Ligne).Value & "x" & Range("J4").Value & Chr(10), "") & _
            IIf(Range("K" & Ligne).Value > 0, Range("K" & Ligne).Value & "x" & Range("K4").Value & Chr(10), "")
End If
End Sub

Comment je peux faire pour afficher pour chaque référence le ou les cartons et la quantité contenus dans chaque carton
ça répond à la question, mais je suis pas sur que ce soit performant pour 250 colonnes...
Faudrait que tu sois plus précis(e) sur le terme 'afficher'...;)
 
Dernière édition:

rahnarahna

XLDnaute Nouveau
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Merci Bond pour cette réponse rapide.
Débutant je suis donc je reformule si tu es ok.
1 j'ouvre mon fichier
2 j'appuie sur Alt F11 en mode edition macro
3 je colle ton code
4 je sauvegarde en donnant un nom à la macro
5 je reviens sur le tableau (alt F11)
6 je lance la macro
7 je sélectionne mon tableau
7 j'obtiens la capture d'écran jointe.
Ca n'a pas l'aire de correspondre à ce que je recherche.

Pour être plus précis, je souhaite pouvoir éditer une liste de référence à inventorier en indiquant directement le ou les n° de carton dans lesquels il y a des quantité (supérieur à 0 bien sur).

Merci de ton aide
 

Pièces jointes

  • test1.jpg
    test1.jpg
    66.1 KB · Affichages: 87
  • test1.jpg
    test1.jpg
    66.1 KB · Affichages: 136
  • test1.jpg
    test1.jpg
    66.1 KB · Affichages: 141

bond

XLDnaute Occasionnel
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Le code placé dans ton fichier, il suffit de sélectionner l'une des cellules de E5 à E10 pour qu'il 'tourne' ; mais je comprends que ce n'est pas ce que tu veux.:(

éditer une liste de référence à inventorier en indiquant directement le ou les n° de carton
:tu veux savoir ce qu'il y a dans chaque carton, c'est bien ça:confused:
:si oui, tu veux une liste de tous les cartons avec ce qu'ils contiennent, ou pouvoir interroger les n° de carton un à un:confused:
:quel format de sortie tu souhaites pour "éditer une liste":confused:
 

Pièces jointes

  • recherche%20n%20de%20colonne(1).xls
    40 KB · Affichages: 73

rahnarahna

XLDnaute Nouveau
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Oui,
Bonjour Bond,

en fait, voici la forme du tableau que j'aimerais avoir a partir de du premier tableau que je t'ai envoyé.

merci de ton aide.
 

Pièces jointes

  • test excel.xlsx
    9.4 KB · Affichages: 72
  • test excel.xlsx
    9.4 KB · Affichages: 72
  • test excel.xlsx
    9.4 KB · Affichages: 70

rahnarahna

XLDnaute Nouveau
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Peu importe le rangement. Tu peux enlver ces titres si tu veux. Le rangements 1 aurait pu s'appeler zone 1 ou aire 2.L'essentiel est de pouvoir identifier rapidement dans quel carton est rangé telle quantité d'une référence dans un même tableau.

Merci
 

bond

XLDnaute Occasionnel
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

là, je suis vraiment pas sur de tout comprendre:eek:

Est ce ça doit ressembler au tableau bleu du fichier joint ?
 

Pièces jointes

  • Copie de recherche%20n%20de%20colonne(1).xlsx
    10.8 KB · Affichages: 57

rahnarahna

XLDnaute Nouveau
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Salut Bond et merci pour tout cet accompagnement.
Je te met en pièces jointe, le format de sortie du tableau.
Mais l'idée générale c'est ca mais sans les espaces entre les colonnes, vu que j'ai beaucoup de carton.

Merci de ton retour.
 

Pièces jointes

  • Copie de recherche n de colonne 2.xlsm
    11.4 KB · Affichages: 60

bond

XLDnaute Occasionnel
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Bon, c'est pas [encore] très beau, mais un code qui sort ce type de rapport sur une nouvelle feuille du classeur. Y'a qqs points à adapter éventuellement...:p
Code:
Option Explicit
Sub Liste()
Dim WsCurr As String, WsDest As String, CelIni As String
Dim CelRef As Range, CelCarton As Range, ColDest As Long, LigDest As Long, TotRef
    
WsCurr = ActiveSheet.Name 'Onglet des données
WsDest = Sheets.Add.Name 'Onglet ajouté pour la liste : à adapter éventuellement
Sheets(WsCurr).Activate
CelIni = "E4" '"A1" 'Cellule initiale des données : à adapter
ColDest = Range(CelIni).Column
TotRef = 0
For Each CelRef In Range(Range(CelIni).Offset(1, 0), Range(CelIni).End(xlDown))
    Sheets(WsDest).Cells(CelRef.Row, ColDest).Value = CelRef.Value
    ColDest = ColDest + 1
    For Each CelCarton In Range(Cells(Range(CelRef.Address).Row, Range(CelIni).Column + 1), Cells(CelRef.Row, Range(CelIni).End(xlToRight).Column))
        If CelCarton.Value > 0 Then
            Sheets(WsDest).Cells(CelCarton.Row, ColDest).Value = Cells(Range(CelIni).Row, CelCarton.Column).Value & " : " & CelCarton.Value
            TotRef = TotRef + CelCarton.Value
            ColDest = ColDest + 1
        End If
        LigDest = CelCarton.Row
    Next CelCarton
Sheets(WsDest).Cells(LigDest, ColDest).Value = "Total : " & TotRef
ColDest = Range(CelIni).Column
TotRef = 0
Next CelRef
End Sub
 

Pièces jointes

  • Copie%20de%20recherche%20n%20de%20colonne%202(1).xlsm
    17.8 KB · Affichages: 55

rahnarahna

XLDnaute Nouveau
Re : comment afficher le n° de colonne et le contenu des cellules non vides d'une lig

Je ne comprends pas tout ce code mais que dois-je faire lorsque écris "cellule initiale"
CelIni = "E4" '"A1" 'Cellule initiale des données : à adapter
J'enleve "E4" "A1" et je mets la première cellule de mon tableau ?

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 690
Membres
103 640
dernier inscrit
So pizza