Création d'un script vériffiant les donnés.
Résolu
Elhyra
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
Elhyra Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Elhyra Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà, cela fait maintenant quelques jours que j'essaye de créer une sorte de petit .exe ou une macro afin de vérifier toute une colonne à l'aide de conditions. Je cherche à faire un éxécutable ou un fichier qui serait réutilisable .Cela me ferait gagner un temps fou lors de la vérifications des donnés dans un tableau pour voir si il est bien remplie. Je m'explique :
J'aimerais créer un script qui fait que lorsque l'on clique dessus cela nous montre un message d'erreur avec le numéro de la ligne fausse, entouré ou surligné en rouge de préférence.
Exemple :

J'aimerais par exemple créer cela : Si la colonne B désignation contient plus de 20 caractères, alors surligner la ligne concerné et ouvrir une box affichant la ligne erroné. Ou bien, Si la colonne C Prix 1 contient des caractères $-€ etc.. alors surligner la ligne en rouge ouvrir une box et ainsi de suite.
Attention, je connais déjà la validation de données, et ce n'est pas ce que je veux. Je cherche une sorte de validation de données mais qu'on exécute et qui est sauvegardable sous forme de fichier.
Je n'ai pas besoins d'une solution avec un code tout fait, simplement d'une base et d'un exemple pour me repérer par la suite et le reproduire.
Merci d'avoir pris connaissance de ma requête, en vous souhaitant une bonne journée !
Voilà, cela fait maintenant quelques jours que j'essaye de créer une sorte de petit .exe ou une macro afin de vérifier toute une colonne à l'aide de conditions. Je cherche à faire un éxécutable ou un fichier qui serait réutilisable .Cela me ferait gagner un temps fou lors de la vérifications des donnés dans un tableau pour voir si il est bien remplie. Je m'explique :
J'aimerais créer un script qui fait que lorsque l'on clique dessus cela nous montre un message d'erreur avec le numéro de la ligne fausse, entouré ou surligné en rouge de préférence.
Exemple :
J'aimerais par exemple créer cela : Si la colonne B désignation contient plus de 20 caractères, alors surligner la ligne concerné et ouvrir une box affichant la ligne erroné. Ou bien, Si la colonne C Prix 1 contient des caractères $-€ etc.. alors surligner la ligne en rouge ouvrir une box et ainsi de suite.
Attention, je connais déjà la validation de données, et ce n'est pas ce que je veux. Je cherche une sorte de validation de données mais qu'on exécute et qui est sauvegardable sous forme de fichier.
Je n'ai pas besoins d'une solution avec un code tout fait, simplement d'une base et d'un exemple pour me repérer par la suite et le reproduire.
Merci d'avoir pris connaissance de ma requête, en vous souhaitant une bonne journée !
A voir également:
- Création d'un script vériffiant les donnés.
- Script vidéo youtube - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Création d'un compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
2 réponses
Bonjour,
Je n'ai pas besoins d'une solution avec un code tout fait
C'est très bien.
Voir ceci pour faire une recherche dans une colonne:
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
et cela pour connaitre le nombre de caractères d'une cellule:
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-A
pour mettre une ligne en couleur sers-toi de l'enregistreur de macro, tu auras ton code
voilà et bon courage
Je n'ai pas besoins d'une solution avec un code tout fait
C'est très bien.
Voir ceci pour faire une recherche dans une colonne:
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
et cela pour connaitre le nombre de caractères d'une cellule:
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-A
pour mettre une ligne en couleur sers-toi de l'enregistreur de macro, tu auras ton code
voilà et bon courage
Bonjour,
Up ! Après avoir passé le week-end à essayer quelque chose je suis toujours sur une mauvaise piste, si jamais quelqu'un à une idée, je suis preneur !
Bonne journée à vous !
Up ! Après avoir passé le week-end à essayer quelque chose je suis toujours sur une mauvaise piste, si jamais quelqu'un à une idée, je suis preneur !
Bonne journée à vous !
Voir ceci pour boucler sur une colonne:
https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
et cela pour les couleurs:
https://www.excel-pratique.com/fr/vba/couleurs.php
ce qui donne:
Voilà
@+ Le Pivert
https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
et cela pour les couleurs:
https://www.excel-pratique.com/fr/vba/couleurs.php
ce qui donne:
Option Explicit Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long, Var As Variant Private Sub CommandButton1_Click() Columns("B:C").Font.ColorIndex = xlAutomatic 'rétabli la couleur auto bouclecolonneB bouclecolonneC End Sub 'https://www.excel-pratique.com/fr/vba/couleurs.php Sub bouclecolonneB() Set FL1 = Worksheets("Feuil1") NoCol = 2 'lecture de la colonne B For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) If Len(Var) > 20 Then Rows(NoLig & ":" & NoLig).Font.Color = RGB(255, 0, 0) 'rouge MsgBox "ligne a trouvé" End If Next Set FL1 = Nothing End Sub 'https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/ Sub bouclecolonneC() Set FL1 = Worksheets("Feuil1") NoCol = 3 'lecture de la colonne C For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) If IsNumeric(Var) Then Else Rows(NoLig & ":" & NoLig).Font.Color = RGB(255, 0, 0) 'rouge MsgBox "ligne a trouvé" End If Next Set FL1 = Nothing End Sub
Voilà
@+ Le Pivert
voir l'exemple 4 pour parcourir plusieurs colonnes ici:
https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
Mais tu ne peux lui demander de ne faire qu'une seule recherche!
Si tu veux que le code soit plus fluide si la recherche est longue mettre ceci au début:
et rétablir a la fin:
@+
https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
Mais tu ne peux lui demander de ne faire qu'une seule recherche!
Si tu veux que le code soit plus fluide si la recherche est longue mettre ceci au début:
Application.ScreenUpdating = False
et rétablir a la fin:
Application.ScreenUpdating = True
@+
Okay, merci beaucoup du coup je les met au tout début du code et tout à la fin du code ?
Et une autre chose, par exemple pour sélectionner les autres colonnes je n'ai plus qu'a rajouter par exemple :
Puis remplacer ça :
Par ça ? :
Et une autre chose, par exemple pour sélectionner les autres colonnes je n'ai plus qu'a rajouter par exemple :
Sub bouclecolonneD()
Set FL1 = Worksheets("Feuil1")
NoCol = 4 'lecture de la colonne D
For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
Var = FL1.Cells(NoLig, NoCol)
If IsNumeric(Var) Then
Else
Rows(NoLig & ":" & NoLig).Font.Color = RGB(255, 0, 0) 'rouge
MsgBox "ligne a trouvé"
End If
Next
Set FL1 = Nothing
End Sub
Puis remplacer ça :
Private Sub CommandButton1_Click()
Columns("B:C").Font.ColorIndex = xlAutomatic 'rétabli la couleur auto
bouclecolonneB
bouclecolonneC
End Sub
Par ça ? :
Private Sub CommandButton1_Click()
Columns("B:C:D").Font.ColorIndex = xlAutomatic 'rétabli la couleur auto
bouclecolonneB
bouclecolonneC
bouclecolonneD
End Sub
Bonne journée à toi !
un excellent tuto pour démarrer:
https://www.excel-pratique.com/fr/vba/premiere_macro.php
@+
J'ai passé le week-end à essayé de trouver quelque chose sans jamais tomber sur quelque chose de bon, si jamais tu as une idée, un exemple de code ou bien si une personne l'a je serais preneur pour m'en inspirer !
Encore merci !