Problème avec Cells.
Résolu/Fermé
kit24be
Messages postés
46
Date d'inscription
samedi 12 janvier 2013
Statut
Membre
Dernière intervention
22 octobre 2017
-
14 mai 2017 à 22:40
kit24be Messages postés 46 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 22 octobre 2017 - 15 mai 2017 à 12:01
kit24be Messages postés 46 Date d'inscription samedi 12 janvier 2013 Statut Membre Dernière intervention 22 octobre 2017 - 15 mai 2017 à 12:01
A voir également:
- Problème avec Cells.
- Cells i ✓ - Forum Excel
- Range(cells(1 1) cells(2 2)) ✓ - Forum VB / VBA
- Excel vba cells ✓ - Forum VB / VBA
- Vba range(cells variable) - Forum Bureautique
- VBA : Range avec références variables.. ✓ - Forum VB / VBA
5 réponses
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 710
15 mai 2017 à 06:47
15 mai 2017 à 06:47
Bonjour,
Dans un premier temps,
Y a pas de
Dans un premier temps,
Set RESULT = Range("b2:b300").Find(What:=<gras>nomCherche</gras>, LookIn:=xlValues)
Y a pas de
nomCherche="quelquechose"!!
kit24be
Messages postés
46
Date d'inscription
samedi 12 janvier 2013
Statut
Membre
Dernière intervention
22 octobre 2017
1
15 mai 2017 à 08:23
15 mai 2017 à 08:23
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
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
yg_be
Messages postés
23346
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
24 novembre 2024
Ambassadeur
1 552
Modifié le 15 mai 2017 à 08:33
Modifié le 15 mai 2017 à 08:33
bonjour, suggestions:
et supprimer les instructions
et changer
et supprimer le
V = Sheets("?").Cells(1, U).Value
et supprimer les instructions
.Select
et changer
ActiveCell en autre chose
et supprimer le
Goto
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 15 mai 2017 à 11:49
Modifié le 15 mai 2017 à 11:49
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
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
kit24be
Messages postés
46
Date d'inscription
samedi 12 janvier 2013
Statut
Membre
Dernière intervention
22 octobre 2017
1
15 mai 2017 à 12:01
15 mai 2017 à 12:01
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
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