Rechercher une ensemble de 3 cellules juxtaposées

Le
tylerguile
Bonjour,

Voilà, je souhaiterai écrire un code permettant de rechercher un bloc de 3
cellules l'une à coté de l'autre.
J'ai trouvé qqch qui y ressemble mais ca ne marche pas quand je l'inclus
dans mon code.

Voici à quoi cela ressemble:

Ce code se trouve dans le userform

Sub TestValidation()
Dim ligne As String
ligne = ActiveCell.Row
MsgBox ligne
Cells(ligne, 2).Value = Combobox1.Value 'mettre la valeur dans la cellule
correspondante sur la meme ligne que le CableID
Cells(ligne, 3) = ComboBox2.Value
Cells(ligne, 4) = ComboBox3.Value
Cells(ligne, 7) = Combobox4.Value
Cells(ligne, 8) = ComboBox5.Value
Cells(ligne, 9) = ComboBox6.Value
'Suppression des lignes correspondantes dans ProvisionningODF
'
Call DelCells
Unload Me
End Sub

Et voici le code DELCELLS qui est surligné lors de l'erreur (erreur de
compilation: sub ou fonction non definie):

Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub


Ce site m'a grandement aidé et je vous en remercie tous!!!!
Ca fait plusieurs jours que je bute la dessus et pourtant, je pense que la
solution n'est pas bien loin.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #5090851
Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub


tylerguile
Le #5090831
Merci pour ta réponse Youky!
J'ai été TROP BETE!
Par contre, j'ai une nouvelle erreur qui surligne en jaune l'instruction IF:
Erreur d'éxecution 1004
Erreur définie par l'application ou par l'objet.

Rebelote!
D'où cela peut il provenir ?

Merci d'avance!


Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub







Youky
Le #5090811
Yes,
Non testé, voici la rectif...
Tu es en module donc
pas Combobox1. mais UserForm1.ComboBox1
Youky
Sub DelCells()
Dim iRow As Long
For iRow = [A65536].End(xlUp).Row To 3 Step -1
If Cells(iRow, 1) = UserForm1.Combobox1.Text And _
Cells(iRow, 2) = UserForm1.ComboBox2.Text And _
Cells(iRow, 3) = UserForm1.ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub

"tylerguile" de news:
Merci pour ta réponse Youky!
J'ai été TROP BETE!
Par contre, j'ai une nouvelle erreur qui surligne en jaune l'instruction
IF:
Erreur d'éxecution 1004
Erreur définie par l'application ou par l'objet.

Rebelote!
D'où cela peut il provenir ?

Merci d'avance!


Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub









tylerguile
Le #5090801
Merci Youky, plus aucune erreur!
Par contre, mon code ne semble fonctionne pas ?!
Je n'ai pas de message d'erreur mais je n'ai pas non plus le resultat
escompté :(
Je ne sais pas où ca pourrait planter...
Est ce qu'il y a moyen de connaitre l'état d'une valeur lors de l'execution
pas à pas d'une macro ?

Merci


Yes,
Non testé, voici la rectif...
Tu es en module donc
pas Combobox1. mais UserForm1.ComboBox1
Youky
Sub DelCells()
Dim iRow As Long
For iRow = [A65536].End(xlUp).Row To 3 Step -1
If Cells(iRow, 1) = UserForm1.Combobox1.Text And _
Cells(iRow, 2) = UserForm1.ComboBox2.Text And _
Cells(iRow, 3) = UserForm1.ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub

"tylerguile" de news:
Merci pour ta réponse Youky!
J'ai été TROP BETE!
Par contre, j'ai une nouvelle erreur qui surligne en jaune l'instruction
IF:
Erreur d'éxecution 1004
Erreur définie par l'application ou par l'objet.

Rebelote!
D'où cela peut il provenir ?

Merci d'avance!


Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub














Youky
Le #5090741
Oui,
exemple tu mets le curseur sur la ligne du If
et tu click dans la barre grise à gauche, un point marron s'affiche
la macro s'arretera sur ce point, ensuite affiche la fenetre Execution
Dans cette fenetre pose les questions en écrivant en debut un "?"
exemple
? iRow
ou
? UserForm1.Combobox1.Text
pour continuer en pas à pas tu presses F8
voir dans le menu debogage.
Pour enlever le point d'arret click dessus
Youky
"tylerguile" de news:
Merci Youky, plus aucune erreur!
Par contre, mon code ne semble fonctionne pas ?!
Je n'ai pas de message d'erreur mais je n'ai pas non plus le resultat
escompté :(
Je ne sais pas où ca pourrait planter...
Est ce qu'il y a moyen de connaitre l'état d'une valeur lors de
l'execution
pas à pas d'une macro ?

Merci


Yes,
Non testé, voici la rectif...
Tu es en module donc
pas Combobox1. mais UserForm1.ComboBox1
Youky
Sub DelCells()
Dim iRow As Long
For iRow = [A65536].End(xlUp).Row To 3 Step -1
If Cells(iRow, 1) = UserForm1.Combobox1.Text And _
Cells(iRow, 2) = UserForm1.ComboBox2.Text And _
Cells(iRow, 3) = UserForm1.ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub

"tylerguile" message
de news:
Merci pour ta réponse Youky!
J'ai été TROP BETE!
Par contre, j'ai une nouvelle erreur qui surligne en jaune
l'instruction
IF:
Erreur d'éxecution 1004
Erreur définie par l'application ou par l'objet.

Rebelote!
D'où cela peut il provenir ?

Merci d'avance!


Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub
















tylerguile
Le #5088241
Merci mille fois!
Grace à toi, j'ai enfin pu régler mon probleme!
Tu sais que j'y ai passé des jours et une grande partie de mes nuits à cause
de petites erreurs d'etourderie ou parceque je ne savais pas comment m'y
prendre!!!
Merci mille fois du fond du coeur!
Je vais enfin pouvoir....avancer et passer à une autre partie de mon
programme !



Oui,
exemple tu mets le curseur sur la ligne du If
et tu click dans la barre grise à gauche, un point marron s'affiche
la macro s'arretera sur ce point, ensuite affiche la fenetre Execution
Dans cette fenetre pose les questions en écrivant en debut un "?"
exemple
? iRow
ou
? UserForm1.Combobox1.Text
pour continuer en pas à pas tu presses F8
voir dans le menu debogage.
Pour enlever le point d'arret click dessus
Youky
"tylerguile" de news:
Merci Youky, plus aucune erreur!
Par contre, mon code ne semble fonctionne pas ?!
Je n'ai pas de message d'erreur mais je n'ai pas non plus le resultat
escompté :(
Je ne sais pas où ca pourrait planter...
Est ce qu'il y a moyen de connaitre l'état d'une valeur lors de
l'execution
pas à pas d'une macro ?

Merci


Yes,
Non testé, voici la rectif...
Tu es en module donc
pas Combobox1. mais UserForm1.ComboBox1
Youky
Sub DelCells()
Dim iRow As Long
For iRow = [A65536].End(xlUp).Row To 3 Step -1
If Cells(iRow, 1) = UserForm1.Combobox1.Text And _
Cells(iRow, 2) = UserForm1.ComboBox2.Text And _
Cells(iRow, 3) = UserForm1.ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub

"tylerguile" message
de news:
Merci pour ta réponse Youky!
J'ai été TROP BETE!
Par contre, j'ai une nouvelle erreur qui surligne en jaune
l'instruction
IF:
Erreur d'éxecution 1004
Erreur définie par l'application ou par l'objet.

Rebelote!
D'où cela peut il provenir ?

Merci d'avance!


Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub





















Youky
Le #5088191
L'usage du dégogeur est indispensable pour corriger comme tu dis, les
erreurs d'étourderies.
Je peux en connaissance de cause te garantir qu'il permet de gagner bien du
temps.
Tout le plaisir est pour moi d'avoir réussit à donner un coup de pouce
Merci également...
Youky
"tylerguile" de news:
Merci mille fois!
Grace à toi, j'ai enfin pu régler mon probleme!
Tu sais que j'y ai passé des jours et une grande partie de mes nuits à
cause
de petites erreurs d'etourderie ou parceque je ne savais pas comment m'y
prendre!!!
Merci mille fois du fond du coeur!
Je vais enfin pouvoir....avancer et passer à une autre partie de mon
programme !



Oui,
exemple tu mets le curseur sur la ligne du If
et tu click dans la barre grise à gauche, un point marron s'affiche
la macro s'arretera sur ce point, ensuite affiche la fenetre Execution
Dans cette fenetre pose les questions en écrivant en debut un "?"
exemple
? iRow
ou
? UserForm1.Combobox1.Text
pour continuer en pas à pas tu presses F8
voir dans le menu debogage.
Pour enlever le point d'arret click dessus
Youky
"tylerguile" message
de news:
Merci Youky, plus aucune erreur!
Par contre, mon code ne semble fonctionne pas ?!
Je n'ai pas de message d'erreur mais je n'ai pas non plus le resultat
escompté :(
Je ne sais pas où ca pourrait planter...
Est ce qu'il y a moyen de connaitre l'état d'une valeur lors de
l'execution
pas à pas d'une macro ?

Merci


Yes,
Non testé, voici la rectif...
Tu es en module donc
pas Combobox1. mais UserForm1.ComboBox1
Youky
Sub DelCells()
Dim iRow As Long
For iRow = [A65536].End(xlUp).Row To 3 Step -1
If Cells(iRow, 1) = UserForm1.Combobox1.Text And _
Cells(iRow, 2) = UserForm1.ComboBox2.Text And _
Cells(iRow, 3) = UserForm1.ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub

"tylerguile" message
de news:
Merci pour ta réponse Youky!
J'ai été TROP BETE!
Par contre, j'ai une nouvelle erreur qui surligne en jaune
l'instruction
IF:
Erreur d'éxecution 1004
Erreur définie par l'application ou par l'objet.

Rebelote!
D'où cela peut il provenir ?

Merci d'avance!


Salut bien,
Remplace "A" par 1
"B" par 2 et "C" par 3

Youky


Sub DelCells()
Dim iRow As Long
For iRow = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1
If Cells(iRow, "A") = Combobox1.Text And _
Cells(iRow, "B") = ComboBox2.Text And _
Cells(iRow, "C") = ComboBox3.Text Then
Rows(iRow).Delete
End If
Next iRow
End Sub























Publicité
Poster une réponse
Anonyme