Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Rechercher une ensemble de 3 cellules juxtaposées

7 réponses
Avatar
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.

7 réponses

Avatar
Youky
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


Avatar
tylerguile
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







Avatar
Youky
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" a écrit dans le 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









Avatar
tylerguile
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" a écrit dans le 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














Avatar
Youky
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" a écrit dans le 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" a écrit dans le
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
















Avatar
tylerguile
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" a écrit dans le 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" a écrit dans le
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





















Avatar
Youky
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" a écrit dans le message
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" a écrit dans le
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" a écrit dans le
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