Problème avec Cells.

Résolu
Bonjour,

j'ai un problème avec cells, je n'arrive pas a récupérer le texte de la première
ligne.

Sub Macro1()
Dim nomCherche As String
Dim RESULT As Variant
Dim R As Integer
Dim i As Integer
Dim s As Integer
Dim U As String
Dim V As String
s = 1

U = Sheets("test").Range("K2").Column
Sheets("test").Select

Set RESULT = Range("b2:b300").Find(What:=nomCherche, LookIn:=xlValues)

Sheets("c").Range("a15").NumberFormat = "0000"
Sheets("c").Range("b15").Value = RESULT.Offset(0, -1).Value
Sheets("c").Select
Range("b15").Select

For i = 9 To 60
If RESULT.Offset(0, i).Value = "" Then
U = U + 1
GoTo SUITE
Else

V = Cells(1, U).Value ' y a t il une erreur sur cette ligne

ActiveCell.Offset(0, s).Value = V
ActiveCell.Offset(1, s).Value = RESULT.Offset(0, i).Value
U = U + 1
s = s + 1
SUITE:
End If

Next i

End Sub

Merci d'avance

5 réponses

  1. Contributeur
    bonjour

    Sheets("test").Range("K2").Column renvoie un nombre (integer
    U est donc un nombre
    (a ce propos, tu pourrais écrire U=11 + simplement !)
    dans tes déclarations U est du texte (dim U as string)


    Dim nomCherche As String
    ok
    pourquoi écrire dans le code
    nom cherche (espace ?)

    mais il y a beaucoup d'autres incohérences dans ton code

     Michel
    0
    1. Bonjour,

      dans mon vrai code nomcherche est sans espace, par contre j'ai changer dim U as string en integer, cela fonctionne.
      Un très grand merci
      Bonne journée
      0
  2. Bonjour,
    acticecell me permet de changer de cellule pour réécrire les valeurs sur une autre feuille, le goto lui empêche de recopier les cellules vides. le code
    V = Sheets("test").Cells(1, U).Value ' erreur 1004
    j'avais déjà essayé ce code.

    merci
    0
    1. Contributeur
      bonjour, suggestions:
      V = Sheets("?").Cells(1, U).Value

      et supprimer les instructions
      .Select

      et changer
      ActiveCel
      l en autre chose
      et supprimer le
      Goto
      0
      1. Bonjpour,
        désolé, en épurant le code, j' ai supprimé la ligne.
        La boucle me permet de récupérer le titre de la première cellule de chaque colonne par rapport à la valeur de la référence en Sheets("c").Range("b15").Value. Si la cellule de référence + offset est vide la boucle recherche la valeur de cellule de la colonne suivante. la boucle fonctionne bien pour les valeurs de cellules, mais pas pour récupérer les titres.

        Merci pour la rapidité de votre réponse.

        Sub Macro1()
        Dim nomCherche As String
        Dim RESULT As Variant
        Dim R As Integer
        Dim i As Integer
        Dim s As Integer
        Dim U As String
        Dim V As String
        s = 1

        U = Sheets("test").Range("K2").Column
        Sheets("test").Select

        Nom cherche = Sheets("c").Range("b15").Value

        Set RESULT = Range("b2:b300").Find(What:=nomCherche, LookIn:=xlValues)

        Sheets("c").Range("a15").NumberFormat = "0000"
        Sheets("c").Range("b15").Value = RESULT.Offset(0, -1).Value
        Sheets("c").Select
        Range("b15").Select

        For i = 9 To 60
        If RESULT.Offset(0, i).Value = "" Then
        U = U + 1
        GoTo SUITE
        Else

        V = Cells(1, U).Value ' y a t il une erreur sur cette ligne

        ActiveCell.Offset(0, s).Value = V
        ActiveCell.Offset(1, s).Value = RESULT.Offset(0, i).Value
        U = U + 1
        s = s + 1
        SUITE:
        End If

        Next i

        End Sub
        0
        1. Bonjour,

          Dans un premier temps,
          Set RESULT = Range("b2:b300").Find(What:=<gras>nomCherche</gras>, LookIn:=xlValues)
          

          Y a pas de
          nomCherche="quelquechose"
          !!
          0