VBA pour une macro Excel
Résolu/Fermé
A voir également:
- VBA pour une macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
6 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
8 nov. 2008 à 19:07
8 nov. 2008 à 19:07
Bonjour,
Je ne comprend pas bien ce que tu veux faire, il me semble que mettre les cellule vide "non vide" (même pas besoin de prendre la valeur du dessus) et de mettre la couleur texte en blanc est l'ABC de VBA et comme tu dit que tu travail avec Access sur VBA Excel c'est que tu t'y connais.
Explique un peu mieux la difficulté que tu rencontre.
A+
Je ne comprend pas bien ce que tu veux faire, il me semble que mettre les cellule vide "non vide" (même pas besoin de prendre la valeur du dessus) et de mettre la couleur texte en blanc est l'ABC de VBA et comme tu dit que tu travail avec Access sur VBA Excel c'est que tu t'y connais.
Explique un peu mieux la difficulté que tu rencontre.
A+
Je ne maitrise justement pas ACCESS qui s'arrête aux table, requètes et formulaire voir état avec l'assistant ainsi que un peut de SQL.
le VBA m'est donc inconnu et je tente en parrallèle de l'aprendre, mais je suis incapable actuellement de faire ce dont j'ai besoin en VBA Excel.
Concernant mon problème je vais précisser l'action possible du code :
Je sélectionne une plage de donnée.
Je lance la macro qui :
Test si une cellule est vide,
Si une cellule est vide alors prendre la valeur de la cellule étant dans la même collone mais étant dans la ligne au dessus (soit la ligne de la cellule testé -1 donc si la cellule testé est B129 la cellule vide doit prendre la valeur de la cellule B128) mais en remplacant la couleur de la police en blanc.
Si la cellule n'est pas vide alors ne rien faire.
End sub (sa je connai MDR!)
L'objectif étant que je puisse utiliser un filtre dans excel d'où l'intérets de n'avoir aucunes cellule vide, et de prendre la valeur d'une celulle qui est au dessus. le fait que la police soit en blanc me permettra d'avoir une meilleur lisibilité à l'impression, c'est tout.
DSL si ma demande semble relevé du B.A.BA ! j'ai oublier de mensionner que toutes les données vides était dans un plan excel, mais je ne pense pas que celà change quelque chose?
J'espère être asser concret pour que vous puissiez m'aider.
le VBA m'est donc inconnu et je tente en parrallèle de l'aprendre, mais je suis incapable actuellement de faire ce dont j'ai besoin en VBA Excel.
Concernant mon problème je vais précisser l'action possible du code :
Je sélectionne une plage de donnée.
Je lance la macro qui :
Test si une cellule est vide,
Si une cellule est vide alors prendre la valeur de la cellule étant dans la même collone mais étant dans la ligne au dessus (soit la ligne de la cellule testé -1 donc si la cellule testé est B129 la cellule vide doit prendre la valeur de la cellule B128) mais en remplacant la couleur de la police en blanc.
Si la cellule n'est pas vide alors ne rien faire.
End sub (sa je connai MDR!)
L'objectif étant que je puisse utiliser un filtre dans excel d'où l'intérets de n'avoir aucunes cellule vide, et de prendre la valeur d'une celulle qui est au dessus. le fait que la police soit en blanc me permettra d'avoir une meilleur lisibilité à l'impression, c'est tout.
DSL si ma demande semble relevé du B.A.BA ! j'ai oublier de mensionner que toutes les données vides était dans un plan excel, mais je ne pense pas que celà change quelque chose?
J'espère être asser concret pour que vous puissiez m'aider.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
8 nov. 2008 à 21:43
8 nov. 2008 à 21:43
OK, compris
A+
Sub ChercheVide() Dim Cel As Range For Each Cel In Range("A3:P3") 'Adapter l'adresse à toute la plage nécessaire 'par exemple "A3:Z40") If Cel = "" Then Cel = Cel.Offset(-1, 0) Cel.Font.ColorIndex = 2 End If Next Cel End Sub
A+
le résultat est bon mais il manque juste une chose, je vien de tester et, a moins que sa soit moi qui soit incapable lol on ne sait jamais, il me semble qu'en faite cela n'a d'action que sur la plage de celulle A3:P3,
Le must sa serait que la même action s'execute mais sur la plage de donnée que je sélectionne dans excel avec mon curseur.
Est-ce possible?
Merci en tout cas c'est rassurant de voir que j'ai pas chercher pour rien, c'est possible lol
Le must sa serait que la même action s'execute mais sur la plage de donnée que je sélectionne dans excel avec mon curseur.
Est-ce possible?
Merci en tout cas c'est rassurant de voir que j'ai pas chercher pour rien, c'est possible lol
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
9 nov. 2008 à 00:46
9 nov. 2008 à 00:46
Beh.. moi j'ai lu.. (c'est à dire la plage de cellule A3:P3)
Mais pas de problème, tu remplace par...
For Each Cel In Selection
A+
Mais pas de problème, tu remplace par...
For Each Cel In Selection
A+