Problème avec Cells.

Résolu
kit24be Messages postés 48 Statut Membre -  
kit24be Messages postés 48 Statut Membre -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

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

    Y a pas de
    nomCherche="quelquechose"
    !!
    0
  2. kit24be Messages postés 48 Statut Membre 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
  3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
  4. kit24be
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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. kit24be Messages postés 48 Statut Membre 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