Sélection de la cellule suivante et des cellules précédentes

delouest

XLDnaute Nouveau
Bonjour,

Je vous explique ma situation, j'effectue un contrôle de pièce fréquentiel ( 1 sur 4 ou 1 sur 5). Si lors de ce contrôle une pièce est hors tolérance, alors un message d'erreur s'affiche et la cellule suivante est sélectionné (pour revérifier que le réglage est bon). j'ai réussi à faire cette partie.

Cependant il faudrait que je sélectionne aussi les cellule précédentes pour effectuer un contrôle sur les pièces réalisées avant la détection du défaut. Et là, je coince.

J'espère avoir été assez clair.

Voici le code que j'ai fais pour l'instant et qui me permet de sélectionner la cellule suivante.

Code:
Case Else
            
            ActiveSheet.Range(Target.Address).Font.ColorIndex = 3  'écriture rouge
            ActiveSheet.Range(Target.Address).Font.Bold = True    'écriture en gras
            BILAN = MsgBox("Informer le contrôle" + Chr(13) + "Identifier la pièce (scotch jaune)" + Chr(13) + "Relever la cote de la prochaine pièce", vbInformation + vbOKOnly, "Détection d'une non-conformité")
            ActiveSheet.Cells(Ligne, colo + 1).Select
            Selection.Interior.ColorIndex = xlNone
             End Select

Merci d'avance pour votre aide.
 

vgendron

XLDnaute Barbatruc
Re : Sélection de la cellule suivante et des cellules précédentes

Bonjour Delouest et bienvenu ici

la demande semble claire. sauf que... on va pas pouvoir beaucoup t'aider..
il faut que tu postes un fichier exemple (sans data confidentielle)
surtout que tu ne mets qu'un bout de code..
parce que la. comme ca. on ne sait meme pas ce que sont les cellules précédentes. comment les identifier etc etc..

à te lire
 

delouest

XLDnaute Nouveau
Re : Sélection de la cellule suivante et des cellules précédentes

Merci pour votre réponse.

Dans le cas des contrôles fréquentiels (10%, 20% ou 25%) indiqués dans la colonne E, si j'ai une pièce hors tolérance, je dois sélectionner les cellules précédentes jusqu'à arriver au précédent contrôle.

Voici le fichier.

Le mot de passe est "JM" et ensuite cliquez sur annuler pour les 2 boites de dialogues suivantes.
 

Pièces jointes

  • fiche auto contrôle TEST.xlsm
    141 KB · Affichages: 28

vgendron

XLDnaute Barbatruc
Re : Sélection de la cellule suivante et des cellules précédentes

Hello

suis pas sur d'avoir bien compris finalement..

exemple: test de la cote 375 +/-0.15 (ligne11)
tu remplis la mesure 1 en colonne F:
si c'est oK tant mieux
si KO, tu remplis la mesure 2 (colonne G):
si mesure 2 ko: alors, tu veux sélectionner la mesure en cours (2) ainsi que les précédentes:

donc pour faire ca. il te suffit d'intégrer ce bout de code dans le tiens

Code:
Range(Cells(ActiveCell.Row, 6), ActiveCell).Select
 

delouest

XLDnaute Nouveau
Re : Sélection de la cellule suivante et des cellules précédentes

hey !

Si la mesure de la colonne G (2ème mesure) est "ko", inutile de revenir sur la précédente puisque je sais déja qu'elle est "KO". Dans ce cas là, je réalise une 3ème mesure (colonne H).

Mais admettons que la dernière pièce soit "ko", alors je dois "dégriser" toutes les cellules précédentes jusqu'à arriver au dernier contrôle "ok".


J'espère m'être bien fait comprendre :).
 

vgendron

XLDnaute Barbatruc
Re : Sélection de la cellule suivante et des cellules précédentes

bah non justement c'est pas clair..
tu dis; "supposons que la dernière pièce soit ko, je dois remonter au dernier controle OK..
bah oui. sauf que tu dis aussi. si la mesure est KO, pas la peine de remonter car je sais que la précédente est KO..
donc. à priori.. il n'y a aucune chance de remonter vers une pièce OK...??

une précision: c'est quoi une pièce? une par colonne?

et effectivement. je vois des cellules grises et blanches
ex ligne 10: il y a deux blanches puis 2 grises, puis 1 blanche... alors que sur la ligne 11, il n'y a qu'une blanche. puis que du gris..
ca a une signification particulière?
je suppose que oui (laquelle) puisque tu veux dégriser....
 

delouest

XLDnaute Nouveau
Re : Sélection de la cellule suivante et des cellules précédentes

Le malentendu vient des couleurs et c'est de ma faute, j'ai pas précisé.

C'est bien un pièce par colonne.

Les cellules blanches doivent être remplies. Les cellules grisées ne doivent pas être remplies.
Concrètement, quand toute la ligne est blanche, ça veut dire que l'on fait le contrôle à 100% des pièces (marqué dans la colonne E).
Quand il apparaît des cellules grises, on est dans le cas d'un contrôle fréquentiel. Pour la ligne 10 par exemple c'est du 20% (voir colonne E), donc on contrôle toutes les 2 ou 3 pièces.

Donc pour revenir à mon message précédent, si j'ai la dernière pièce ko, il faut que je dégrise les cellules précédentes (pièces non contrôlées), jusqu'au dernier contrôle ok. Le but étant de savoir à partir de quelle pièce est apparue le défaut.
 

vgendron

XLDnaute Barbatruc
Re : Sélection de la cellule suivante et des cellules précédentes

essai d'intégrer ce code dans ta macro Private Sub Worksheet_Change(ByVal Target As Range)
j'ai recopié le code avant pour que tu puisses te reperer..

Code:
'test la valeur de la cellule entre maxi en mini
    If ActiveSheet.Cells(Ligne, 3) <> 999 And IsNumeric(testvc) = True Then
       
        vc = ActiveSheet.Range(Target.Address)
            
            If vc <> 0 Then
            Select Case vc
            Case vmini To vmaxi
             
            ActiveSheet.Range(Target.Address).Font.ColorIndex = 10 'écriture en vert
            ActiveSheet.Range(Target.Address).Font.Bold = False     'écriture NORMAL
                       
            Case Else
            
            ActiveSheet.Range(Target.Address).Font.ColorIndex = 3  'écriture rouge
            ActiveSheet.Range(Target.Address).Font.Bold = True    'écriture en gras
    '******************************************************
            'inserer code ici
            Application.EnableEvents = False
    If Target.Font.ColorIndex = 3 Then
        Ligne = Target.Row
    'remonter vers la gauche pour trouver la première font <>3 (=pièce OK)
        For Colonne = Target.Column To 7 Step -1
            If ((Cells(Ligne, Colonne).Value <> "") And (Cells(Ligne, Colonne).Font.ColorIndex <> 3)) Then 'condition à revoir
                ici = Colonne
                Exit For
            End If
        Next Colonne
        Range(Target.Address, Cells(Ligne, Colonne)).Select
        'dégriser
        Selection.Interior.ColorIndex = 0
    Application.EnableEvents = True
    End If
    
    

    '******************************************************
 

vgendron

XLDnaute Barbatruc
Re : Sélection de la cellule suivante et des cellules précédentes

tu peux enlever le commentaire 'Condition à revoir. puisque je l'ai déjà revue : je n'avais pas de test sur les cellules vides
la ligne ici=colonne ne sert à rien. c'était pour un test
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise