Sélection de ligne avec condition
Résolu
ClaraBRND
-
ClaraBRND -
ClaraBRND -
Bonjour,
Je souhaite rentrer des données sur une ligne précise.
Concrètement il s'agit de faire une demande de gabarit.
Quand on clique sur 'valider la demande', les informations s'ajoutent sur la ligne du tableau correspondant au gabarit choisit.
Mon code doit donc chercher dans la colonne 'gabarit' la ligne ou se trouve le nom du gabarit sélectionné dans la demande et ajouter les information dans les colonnes de cette même ligne. Le beug se trouve à partir la ligne Range(Ligne, 4) = CaseQuantité.Value (ajouter l'information dans la colonne D de la ligne du gabarit sélectionné)
Mon code est le suivant :
EDIT : Ajout des balises de code
Vous me seriez d'une grande aide !! Merci
Je souhaite rentrer des données sur une ligne précise.
Concrètement il s'agit de faire une demande de gabarit.
Quand on clique sur 'valider la demande', les informations s'ajoutent sur la ligne du tableau correspondant au gabarit choisit.
Mon code doit donc chercher dans la colonne 'gabarit' la ligne ou se trouve le nom du gabarit sélectionné dans la demande et ajouter les information dans les colonnes de cette même ligne. Le beug se trouve à partir la ligne Range(Ligne, 4) = CaseQuantité.Value (ajouter l'information dans la colonne D de la ligne du gabarit sélectionné)
Mon code est le suivant :
Dim Rw As Range
Dim Ligne As Long
For Each Cell In Sheets(Produit).Range("B5:B100")
If Cell.Value = CaseGabarit.Value Then Ligne = Rw.Row
Range(Ligne, 4) = CaseQuantité.Value
Range(Ligne, 5) = CaseBesoin.Value
Range(Ligne, 7) = CasePrio.Value
Range(Ligne, 8) = CasePole.Value
Range(Ligne, 9) = CaseDemandeur.Value
Range(Ligne, 10) = CaseDate.Value
Range(Ligne, 11) = CaseDélai.Value
If CheckBoxUsure.Value = True Then
Range(Ligne, 13) = CheckBoxUsure.Caption
End If
If CheckBoxCasse.Value = True Then
Range(Ligne, 13) = CheckBoxCasse.Caption
End If
If CheckBoxQuantitéSup.Value = True Then
Range(Ligne, 13) = CheckBoxQuantitéSup.Caption
End If
If CheckBoxNonConforme.Value = True Then
Range(Ligne, 13) = CheckBoxNonConforme.Caption
End If
If CheckBoxEvolution.Value = True Then
Range(Ligne, 13) = CheckBoxEvolution.Caption
End If
If CheckBoxAutreRaison = True Then
Range(Ligne, 13) = CaseAutreRaison.Value
End If
Next
EDIT : Ajout des balises de code
Vous me seriez d'une grande aide !! Merci
A voir également:
- Sélection de ligne avec condition
- Partage de photos en ligne - Guide
- Excel cellule couleur si condition texte - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
- Apparaitre hors ligne instagram - Guide
8 réponses
Aucun souci avec ce code
Dim Rw As Range
Dim Ligne As Long
For Each C In Sheets(Produit).Range("B5:B100")
If C.Value = CaseGabarit.Value Then
Ligne = C.Row
Cells(Ligne, 4) = CaseQuantité.Value
Cells(Ligne, 5) = CaseBesoin.Value
Cells(Ligne, 7) = CasePrio.Value
Cells(Ligne, 8) = CasePole.Value
Cells(Ligne, 9) = CaseDemandeur.Value
Cells(Ligne, 10) = CaseDate.Value
Cells(Ligne, 11) = CaseDélai.Value
If CheckBoxUsure.Value = True Then
Cells(Ligne, 13) = CheckBoxUsure.Caption
End If
If CheckBoxCasse.Value = True Then
Cells(Ligne, 13) = CheckBoxCasse.Caption
End If
If CheckBoxQuantitéSup.Value = True Then
Cells(Ligne, 13) = CheckBoxQuantitéSup.Caption
End If
If CheckBoxNonConforme.Value = True Then
Cells(Ligne, 13) = CheckBoxNonConforme.Caption
End If
If CheckBoxEvolution.Value = True Then
Cells(Ligne, 13) = CheckBoxEvolution.Caption
End If
If CheckBoxAutreRaison = True Then
Cells(Ligne, 13) = CaseAutreRaison.Value
End If
End If
Next
Bonjour,
Ton souci.. c'est que tu as utilisé Range au lieu de Cells
Par contre, dans ta boucle, éviter d'utiliser le mot "Cell" qui est proche de celui utilisé par Excel (Cells )pour cibler une cellule
Remplace "Cell" par C dans la boucle
Ton souci.. c'est que tu as utilisé Range au lieu de Cells
Cells(Ligne, 4)
Par contre, dans ta boucle, éviter d'utiliser le mot "Cell" qui est proche de celui utilisé par Excel (Cells )pour cibler une cellule
Remplace "Cell" par C dans la boucle
For Each C In Sheets(Produit).Range("B5:B100")
If C.Value = CaseGabarit.Value Then Ligne = Rw.Row
Merci pour votre réponse !! Malheureusement, Excel me met toujours la ligne "cells(Ligne, 4) = CaseQuantité.Value" en erreur ...
Puis-je vous joindre mon fichier ? (si oui comment, je n'ai pas l'habitude ....)
Puis-je vous joindre mon fichier ? (si oui comment, je n'ai pas l'habitude ....)
https://www.cjoint.com/c/JGukvKr8N7V
Voici le fichier, il s'agit de la macro associée à l'Userform DemandeDeGabarit
Merci
Voici le fichier, il s'agit de la macro associée à l'Userform DemandeDeGabarit
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dim Rw As Range
Dim Ligne As Long
For Each C In Sheets(Produit).Range("B5:B100")
If C.Value = CaseGabarit.Value Then
Ligne = C.Row
Range(Ligne, 4) = CaseQuantité.Value
Range(Ligne, 5) = CaseBesoin.Value
Range(Ligne, 7) = CasePrio.Value
Range(Ligne, 8) = CasePole.Value
Range(Ligne, 9) = CaseDemandeur.Value
Range(Ligne, 10) = CaseDate.Value
Range(Ligne, 11) = CaseDélai.Value
If CheckBoxUsure.Value = True Then
Range(Ligne, 13) = CheckBoxUsure.Caption
End If
If CheckBoxCasse.Value = True Then
Range(Ligne, 13) = CheckBoxCasse.Caption
End If
If CheckBoxQuantitéSup.Value = True Then
Range(Ligne, 13) = CheckBoxQuantitéSup.Caption
End If
If CheckBoxNonConforme.Value = True Then
Range(Ligne, 13) = CheckBoxNonConforme.Caption
End If
If CheckBoxEvolution.Value = True Then
Range(Ligne, 13) = CheckBoxEvolution.Caption
End If
If CheckBoxAutreRaison = True Then
Range(Ligne, 13) = CaseAutreRaison.Value
End If
End if
Next
Jordan,
La premiere ligne avec Range :
Range(Ligne, 4) = CaseQuantité.Value
reste en erreur, je pensais qu'il fallait mett cells?
Quand je modifie tout en cells c'est la 3eme ligne :
Cells(Ligne, 7) = CasePrio.Value
qui se met en erreur, je ne comprend pas pourquoi
Vous n'utilisez pas le Rw après l'avoir mit en range, est-il utile de le mettre du coupe (1ere ligne)
La premiere ligne avec Range :
Range(Ligne, 4) = CaseQuantité.Value
reste en erreur, je pensais qu'il fallait mett cells?
Quand je modifie tout en cells c'est la 3eme ligne :
Cells(Ligne, 7) = CasePrio.Value
qui se met en erreur, je ne comprend pas pourquoi
Vous n'utilisez pas le Rw après l'avoir mit en range, est-il utile de le mettre du coupe (1ere ligne)