Vba : erreur formule

Usgpa -  
 Usgpa -
Bonjour,

Je souhaiterais trouver une cellule en cherchant sa ligne et sa colonne selon deux valeurs d'un tableau :

Dim c As Integer
Dim cherche As String
cherche = Feuil2.Range("B" & I).Value
c = Feuil5.Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Row
Dim b As Integer
cherche = UserForm2.TextBox69
b = Feuil5.Cells.Find(what:=cherche, LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlNext).Column
Feuil5.Range(b & c).Offset(0, 1) = Feuil5.Range(b & c).Offset(0, 1).Value + 1
Unload UserForm2
End Sub

Il me dit que la méthode range de l'objet worksheet a échoué... vous avez une idée ?

24 réponses

Usgpa
 
Merci Michel !
0
Usgpa
 
Bonjour,

En fait, le changement de format n'a pas résolu le problème. Les données sont désormais identiques (l'essai par la fonction si le confirme...) mais je suis toujours bloqué par cet msg box("Valeur inconnue")... j'ai pas passé pas mal de temps dessus mais je ne trovue plus rien... je suis dans une impasse totale car c'est une feuille nécéssaire pour la suite... Je vous ai fait un résumé meilleur qu'hier avec les modification apportées... si quelqu'un trouvait la réponse je lui en serai infiniement reconnaissant...

http://www.cijoint.fr/cjlink.php?file=cj201002/cijwHekuyv.xls
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
le 3/2/10, 19:59H

LES CELLS(LIGNE, COLONNE) ETAIENT INVERSEES EN CELLS(COLONNE,LIGNE) POURQUOI?

pourtant dans le post 16
derlig = Sheets("feuil1").Range("B65536").End(xlUp).Row
Application.ScreenUpdating = False

For cptr = 1 To derlig
        With Sheets("feuil1")
        cherche_lig = .Cells(cptr, 2)
        cherche_col = .Cells(cptr, 3)
        End With


D'autre part tu commences en Ligne 2 ligne 1 tu as les étiquettes!!!!
donc
for cptr=2

tu as plein d'autres .... (au choix) dans tes macros, mais vu ce que tu fais de ce qu'on te propose

Je désactive le suivi de ce post
0
Usgpa
 
Après quelques suppressions cela fonctionne :

Dim derlig As Integer, cherche_lig As String, cherche_col As String
Dim lig_cibl As Integer, col_cibl As Byte
Dim zone As Range

derlig = Sheets("Archive Cessions").Range("B65536").End(xlUp).Row
Application.ScreenUpdating = False

With Sheets("Archive Cessions")
cherche_lig = .Cells(derlig, 2)
cherche_col = .Cells(derlig, 3)
End With

With Sheets("Statistiques")
Set zone = .Range("A1:DN1467")
If Application.CountIf(zone, cherche_lig) > 0 And Application.CountIf(zone, cherche_col) > 0 Then
lig_cibl = zone.Find(cherche_lig, , , xlWhole).Row
col_cibl = zone.Find(cherche_col, , , , xlWhole).Column
.Cells(lig_cibl + 1, col_cibl) = .Cells(lig_cibl + 1, col_cibl) + 1
Else
MsgBox " valeur inconnue", vbCritical
Exit Sub
End If
End With

Michel, je me suis trompé dans l'envoi du lien et comme je vous l'ai déjà dit, j'ai vraiment apprécié votre aide et c'est grâce à votre proposition que je peux avancer, je vous remercie. Quand ca en marchait pas j'ai essayé de modifier quelques petits trucs pour voir... Ca ne sert à rien de s'énerver. En tout cas merci !
0