Trie cellules sans information pour recreer un tableau

Bonjour,

le titre est bizarre mais c'est assez dur à résumer.

je suis débutant en vba et la j'ai besoin d'aide.

Pouvez-vous m'aider à créer une macro qui ferai la chose suivante:

  • 1 sélectionner toutes les cellules d'une première plage d'un tableau et ne copier que celle ayant quelque chose d'écrit dans un second tableau plus petit sur une autre feuille. (Si 12 lignes d'écrites sur 20 on obtient un tableau de 20 ligne, si 5 on obtient un tableau de lignes),
  • 2 sélectionner toutes les cellules d'une deuxième plage d'un tableau et ne copier que celle ayant quelque chose d'écrit dans un second tableau plus petit sur la même autre feuille.
  • 3 calculer la valeur du premier tableau et du deuxième,
  • 4 diviser la valeur du Deuxième par le premier,

et mettre tout ça en forme correctement!!!

Z'auriez pas une petite idée?

Bonsoir, même sans marcro cela peut se faire ceci dit oui de l'aide est possible

ben ci quelqu'un a un exemple!

Bonjour,

Merci de joindre un fichier.

Le forum te remercie

Cdlt.

voici ci-joint.

En bas à gauche il y deux tableaux:

Revenus annuels

charges annuels

L'idée est de superposer ces deux tableau en feuill2 en ne gardant que les lignes ou on a une information ( pas celles qui semblent vide); Comme dans l'exemple feuille 2 mais de manière totalement automatique.

SI besoin d'autres info je suis dispo

17test-macro.xlsm (89.50 Ko)

j'ai fait ça mais il manque un morceau que je n'arrive pas à faire.

Car cela copie les lignes entière et moi je voudrais juste certaines cases. la fonction "cel.EntireRow.Copy .Range("A" & derlig)

" me pose problème

Sub testcopiercoller()

Dim plage As Range, cel As Range

'stop rafraichissement ecran

Application.ScreenUpdating = False

'valeur a chercher

valcherch = ""

With Worksheets("Données")

'defintion plage a tester en memoire

Set plage = .Range("A99:B111" & derlig)

End With

With Worksheets("Feuil1")

'test plage

For Each cel In plage

If cel <> valcherch Then

'premiere cellule vide apres derniere non vide colonne A

derlig = .Range("B" & Rows.Count).End(xlUp).Row + 1

'premier lancement

If derlig = "" Then

End If

'copy ligne entiere

cel.EntireRow.Copy .Range("A" & derlig)

End If

Next cel

End With

'rafraichissement ecran

Application.ScreenUpdating = True

End Sub

Rechercher des sujets similaires à "trie information recreer tableau"