Vérification de présence de nombres dans cellules
Merocco
Messages postés
18
Statut
Membre
-
Raymond PENTIER Messages postés 71833 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 71833 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une feuille Excel dans laquelle j'exporte des valeurs depuis un logiciel externe.
Ce sont des blocs de 45 lignes et 4 colonnes remplies de valeurs.
24 blocs au total sont exportés avec une ligne de séparation entre chaque bloc.
J'aimerais créer, sur une autre feuille du même classeur, quelque chose pour contrôler que mes 24 blocs de valeurs soient complets, il ne doit manquer aucune valeur dans le bloc.
Auriez vous une solution à me proposer ? (Image ci-jointe pour avoir un aperçu)
Merci d'avance,
Merocco

J'ai une feuille Excel dans laquelle j'exporte des valeurs depuis un logiciel externe.
Ce sont des blocs de 45 lignes et 4 colonnes remplies de valeurs.
24 blocs au total sont exportés avec une ligne de séparation entre chaque bloc.
J'aimerais créer, sur une autre feuille du même classeur, quelque chose pour contrôler que mes 24 blocs de valeurs soient complets, il ne doit manquer aucune valeur dans le bloc.
Auriez vous une solution à me proposer ? (Image ci-jointe pour avoir un aperçu)
Merci d'avance,
Merocco

A voir également:
- Vérification de présence de nombres dans cellules
- Verificateur de lien - Guide
- Somme de plusieurs cellules excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Verrouiller cellules excel - Guide
- Verification compatibilité windows 11 - Guide
7 réponses
Bonjour,
en e2= si(nbval(a2:d2)=4;"";"X") que tu descends jusqu'au bout. Les X t'indiqueront ou il manque une valeur
en e2= si(nbval(a2:d2)=4;"";"X") que tu descends jusqu'au bout. Les X t'indiqueront ou il manque une valeur
Salut
Voici une proposition :
Ce code est à mettre dans ThisWorkbook.
En faisant alt + F11 dans la partie à gauche > ThisWorkbook
Il faut que la feuille d'où provient les 24 blocs de valeurs s'appelle Feuil1 et que la feuille où tu souhaites avoir les erreurs d'affichées s'appelle Feuil2
Ensuite créer un bouton dont la macro est Test()
Développeur > Insérer > Bouton
Exemple : https://www.cjoint.com/c/EDhvRh53HCP
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d !
Voici une proposition :
' Déclaration des variables
Dim a%, d%, i%, y%
Sub test()
' Attribution aux variables
a = 2: d = 46: y = 1
' Vide la plage de la feuille 'Feuil2' avant de la remplir
Sheets("Feuil2").Range("A1:A24").Value = ""
For i = 1 To 24
' Compte les valeurs vides dans les différents blocs
compte = WorksheetFunction.CountBlank(Sheets("Feuil1").Range("A" & a & ":D" & d))
' Si un bloc possède une ou plusieurs valeurs vides,
If compte > 0 Then
' J'affiche le N° du bloc ainsi que son nombre de valeurs vides
' Dans la feuille nommé 'Feuil2' en A1 (Et qui s'incrémente si le nombre de bloc augmente avec la variable y)
Sheets("Feuil2").Range("A" & y).Value = "Le bloc N° " & i & " possède " & compte & " valeur vide."
y = y + 1
End If
a = a + 46: d = d + 46
Next
End Sub
Ce code est à mettre dans ThisWorkbook.
En faisant alt + F11 dans la partie à gauche > ThisWorkbook
Il faut que la feuille d'où provient les 24 blocs de valeurs s'appelle Feuil1 et que la feuille où tu souhaites avoir les erreurs d'affichées s'appelle Feuil2
Ensuite créer un bouton dont la macro est Test()
Développeur > Insérer > Bouton
Exemple : https://www.cjoint.com/c/EDhvRh53HCP
1f u c4n r34d th1s u r34lly n33d t0 g37 l41d !
... mais si tu veux seulement t'assurer qu'aucune cellule n'est vide, tu peux te contenter de la formule =4320-NB(A:D) qui doit être égale à zéro !
Et si par hasard parmi tes 4320 données importées il y a des textes, la formule doit s'écrire =4320-NBVAL(A:D) ...
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Et si par hasard parmi tes 4320 données importées il y a des textes, la formule doit s'écrire =4320-NBVAL(A:D) ...
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
Bonjour
pour créer un tableau affichant les nombres de valeurs des plages:
en E2: ="A"&=(LIGNE()-2)*25+2
(ceci afin d'identifier le départ de chaque tableau pour signaler les incomplets)
en D2, à tirer sur la hauteur utile:
=SI(NBVAL(INDIRECT(C2&":D"&(LIGNE()-2)*25+25))<96;"incomplet";"OK")
crdlmnt
Errare humanum est, perseverare diabolicum
pour créer un tableau affichant les nombres de valeurs des plages:
en E2: ="A"&=(LIGNE()-2)*25+2
(ceci afin d'identifier le départ de chaque tableau pour signaler les incomplets)
en D2, à tirer sur la hauteur utile:
=SI(NBVAL(INDIRECT(C2&":D"&(LIGNE()-2)*25+25))<96;"incomplet";"OK")
crdlmnt
Errare humanum est, perseverare diabolicum
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En fait, c'est finalement un peu plus compliqué que ça...
Le logiciel a été programmé pour qu'il saute une ligne lorsque qu'il ne détecte pas de valeurs à mesurer (comme dans l'encadré bleu sur l'image).
Mon souci c'est que je dois m'assurer qu'il y aie bien des blocs de 45 lignes x 4 colonnes de valeurs (même si les cellules sont vides) dans tous les cas, toujours avec une séparation d'une ligne entre chaque bloc de valeurs. (voir encadrés rouges)
Ca complique hein ? :)
Merci d'avance pour votre aide.
Le logiciel a été programmé pour qu'il saute une ligne lorsque qu'il ne détecte pas de valeurs à mesurer (comme dans l'encadré bleu sur l'image).
Mon souci c'est que je dois m'assurer qu'il y aie bien des blocs de 45 lignes x 4 colonnes de valeurs (même si les cellules sont vides) dans tous les cas, toujours avec une séparation d'une ligne entre chaque bloc de valeurs. (voir encadrés rouges)

Ca complique hein ? :)
Merci d'avance pour votre aide.
Ta macro est intéressante et bien faite, mais seulement, parfois, il arrive que le logiciel bug et n'exporte pas correctement. De ce fait, il ne saute pas de ligne et écrit directement à la ligne en dessous.
Du coup, il arrive que j'aie seulement 43 lignes dans mon bloc... Et c'est ce que je ne veux pas :)
Du coup, il arrive que j'aie seulement 43 lignes dans mon bloc... Et c'est ce que je ne veux pas :)
Bonjour,
Tes informations arrivent au compte-goutte !
Peux tu faire une explication claire et exhaustive de ton probléme ??
Tes informations arrivent au compte-goutte !
Peux tu faire une explication claire et exhaustive de ton probléme ??
Bonjour,
Excusez-moi, je suis un peu aux fraises aujourd'hui.
J'exporte, via un logiciel externe, 24 blocs de valeurs, comprenant 45 lignes et 4 colonnes.
C'est en réalité une programme de 24 plaques contenant 45 pièces chacune, sur lesquelles 4 cotes sont mesurées sur chacune des pièces. Mon programme mesure donc les 4 cotes de chaque pièce à tour de rôle.
Lorsqu'il a mesuré les 4 cotes sur une pièce, mon programme fait un saut de ligne lorsqu'il exporte dans excel.
Voilà pourquoi il y a 24 blocs avec 45 lignes de 4 valeurs.
Au cours de la mesure, lorsque le logiciel ne détecte pas de pièce, il effectue le saut de ligne normalement comme à la fin de chaque pièce, laissant donc une ligne vide dans l'export.
Lorsqu'il est arrivé à la fin de la mesure d'une plaque, il passe à la plaque suivante en sautant 2 lignes dans l'export, laissant ainsi une séparation.
Mon logiciel n'exporte pas toujours de manière fiable. C'est pourquoi il lui arrive de zapper le saut de ligne, me laissant donc un bloc inférieur à 45 lignes, entraînant un décalage des valeurs de chaque pièce et donc une grande erreur.
Pour améliorer cette fiabilité, je souhaiterais mettre en place un contrôle rapide de cette mesure.
Il faut donc impérativement qu'il y aie 45 lignes présentes dans chacun de mes blocs exportés, avec une ligne vide pour séparer chaque bloc.
J'aimerais donc une solution pour m'assurer que l'export de 24 blocs avec 45 lignes, avec une ligne de séparation vide entre chaque bloc, se soit fait correctement.
Si ce n'est pas clair, je répondrai à vos questions.
Merci d'avance.
Excusez-moi, je suis un peu aux fraises aujourd'hui.
J'exporte, via un logiciel externe, 24 blocs de valeurs, comprenant 45 lignes et 4 colonnes.
C'est en réalité une programme de 24 plaques contenant 45 pièces chacune, sur lesquelles 4 cotes sont mesurées sur chacune des pièces. Mon programme mesure donc les 4 cotes de chaque pièce à tour de rôle.
Lorsqu'il a mesuré les 4 cotes sur une pièce, mon programme fait un saut de ligne lorsqu'il exporte dans excel.
Voilà pourquoi il y a 24 blocs avec 45 lignes de 4 valeurs.
Au cours de la mesure, lorsque le logiciel ne détecte pas de pièce, il effectue le saut de ligne normalement comme à la fin de chaque pièce, laissant donc une ligne vide dans l'export.
Lorsqu'il est arrivé à la fin de la mesure d'une plaque, il passe à la plaque suivante en sautant 2 lignes dans l'export, laissant ainsi une séparation.
Mon logiciel n'exporte pas toujours de manière fiable. C'est pourquoi il lui arrive de zapper le saut de ligne, me laissant donc un bloc inférieur à 45 lignes, entraînant un décalage des valeurs de chaque pièce et donc une grande erreur.
Pour améliorer cette fiabilité, je souhaiterais mettre en place un contrôle rapide de cette mesure.
Il faut donc impérativement qu'il y aie 45 lignes présentes dans chacun de mes blocs exportés, avec une ligne vide pour séparer chaque bloc.
J'aimerais donc une solution pour m'assurer que l'export de 24 blocs avec 45 lignes, avec une ligne de séparation vide entre chaque bloc, se soit fait correctement.
Si ce n'est pas clair, je répondrai à vos questions.
Merci d'avance.