Programmation VBA excel

Fermé
Balata9 - 7 déc. 2011 à 14:21
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 8 déc. 2011 à 00:34
Bonjour à tous,

J'aimerais mettre en place une macro dans excel mais je suis vraiment nulle en programmation. Je vous explique:

J'ai 2 feuilles: "Tableau" et "export"

"Export" contient une base de donnée dont la première colonne (A) est une liste de noms de centrales électriques, les autres colonnes contiennent les données correspondantes à ces centrales.

J'aimerais lister automatiquement dans la colonne A de "Tableau" les noms des centrales de la base de données de la feuille "export" dont les cellules de la colonne 2 sont supérieures à 0 et dont les cellules de la colonne 9 sont vides. Cependant, j'ai rentré manuellement des noms de centrales dans la colonne H de "Tableau" et j'aimerais que ces noms ne soient pas pris en compte automatiquement dans le listing.

De même j'aimerais lister dans la colonne C de "Tableau" les noms de centrale de la base de donnée de la feuille "export" dont les cellules de la colonne 2 sont supérieurs à 0 et dont les cellules de la colonne numero 9 = 0. Encore une fois, j'ai listé manuellement des noms de centrales dans la colonne I de "Tableau" qui ne doivent pas être pris en compte dans le listing.

Quelqu'un pourrait-il me donner le code pour réaliser ces apllications de façon automatique? Je vous remercie d'avance pour votre aide!


Balata 9



A voir également:

1 réponse

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
8 déc. 2011 à 00:34
Bonsoir Leslie,

C'est un peu compliqué, une demande aussi longue... Un filtre automatique ne suffit pas ?
Sinon, il y a des trucs classiques à écrire :
- Sheets("Tableau").Cells(ligne_t,colonne_t).Value=Sheets("Export").Cells(ligne_e,colonne_e).Value (pour copier dans l'onglet tableau des données de l'onglet export)
- If Sheets("Export").Cells(ligne_e,colonne_e).Value=0 Then
action
End If
ou
If Sheets("Export").Cells(ligne_e,colonne_e).Value="" Then
action
End If

et une astuce à appliquer pour ne pas prendre en compte les centrales que tu as listées (avec une Collection ou qqc de ce genre)

A+
-1