Parcourir un colonne et lire seulement les cellules avec contenu

Bonjour,

Je suis novice en VBA et j'aimerais trouver un moyen d'afficher seulement les cellules de mon tableau avec du contenu.

Contexte :

J'ai scrapé un site avec plusieurs informations et j'ai collé le résultat du scrap sur une feuille. Je veux un rendu plus visuel sur une autre feuille de mon fichier. Je veux donc répartir les résultats sur plusieurs tableaux.

J'ai essayé de penser à la logique suivante :

Pour chaque cellule, vérifier si elle est = " "

Si c'est le cas, cellule + 1.

Sinon, afficher le contenu de la cellule dans la feuille de rendu.

En vous remerciant par avance,

Bonjour

Si ton tableau est continu(pas de ligne entièrement vide), tu sélectionnes le tout ( clic sur une cellule puis Ctrl A).

Outils Données Filtrer: tu utilise le filtre sur la colonne de choix en utilisant soit les paramètres proposés soit en les créant.

Si le résultat te convient idem Ctrl A puis copier et coller sur une autre feuille, seules les cellules visibles sont recopiées

A tester

Cordialement

FINDRH

Bonjour,

Si tu veux absolument passer pas VBA, il faut savoir que tu ne peux masquer que des lignes ou des colonnes et pas des cellules car ça contrevient au principe de tableur d'Excel.

Sinon, ton idée est la bonne. Tu dois passer par une boucle par laquelle tu testes chaque cellule (par un If) pour voir si elle est vide.

Voilà, en général, c'est assez rare d'avoir des colonnes vides. Donc s'il y a des lignes vides, il a la possibilité de trier directement.

Voilà un petit exemple qui ne répond pas vraiment à ta question mais te montre l'architecture de code pour y répondre :

Sub CompterCellulesVides()

Dim plage as range, cell as range 'variable représentant la tableau et une cellule
Dim NBVIDES% 'variable dénombrant les cellules vides
Set plage = Range("ton_tableau") 'Affectation de plage - exemple : Range("A1:D20")

for each cell in plage 'pour chaque cellule de mon tableau (chaque cellule de chaque colonne à vrai dire)
     if cell.value = "" Then 'si la valeur de la cellule est ""
         NBVIDES = NBVIDES + 1 'Incrémentation de NBVIDES
     end if
next cell 'prochaine cellule de plage

Msgbox "Ce fichier contient " & NBVIDES & "cellules vides !"

end sub

Cordialement,

Bonjour,

Après relecture de ton post, je crois avoir mieux compris ton besoin. Voici un premier essai qui pourrait marcher :

Option Base 1

Sub CompterCellulesVides()

Dim plage as range, cell as Range
Dim NbCol%, k%, NbVal%, i%
Dim Tab()

Set plage = ActiveSheet.Range("A1").CurrentRegion 'Tableau d'origine
NbCol = plage.columns.count 'nombre colonnes dans plage

for k = 1 to NbCol 'pour chaque colonne de notre tableau d'origine

    NbVal = Worksheetfunction.CountA(plage.columns(k)) 'nombre de cellules non vides
    Redim Tab(NbVal) 'Tableau destiné à accueillir toutes les valeurs de la colonne k de plage

    for each cell in plage.columns(k) 'pour chaque cellule de colonne k
        if Not cell.value = "" Then 'si la cellule est non vide
            i = i + 1 'incrémentation
            Tab(i) = cell.value 'Le tableau stocke la ième valeur non vide
        end if
    next cell

Sheets("OngletOuColler").cells(2, k).Resize(Ubound(Tab)).value = Tab 'copier les valeurs du tableau dans autre onglet
Next i

Sheets("OngletOuColler").Select

end sub

Il faut cependant que tu ajustes éventuellement avec ta plage à copier et avec ton onglet où seront collées les valeurs.

Cordialement,

Merci beaucoup pour le temps que vous m'accordez, c'est très gentil. Je teste ça au plus vite et reviens vers vous :)

Rechercher des sujets similaires à "parcourir colonne lire seulement contenu"