Recherche d'un champ vide Excel via Access [Résolu]

Signaler
Messages postés
254
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour je veux rechercher la premiere champq vide de mon fichier excel en parcourant de colonne a colonne (gauche a droite) donc j'ai écris ceci mais cela ne fonctionne pas
Si quelqu'un peut m'aider merci d'avance.


 colonne = 0
        Do While UCase(xls.ActiveSheet.Cells(1, colonne)) <> 0
        i = i + 1
        Loop
        colonne = i

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,
Regarde la fonction IsEmpty qui te permet de savoir si une cellule est vide.
Regarde aussi du coté de SpecialCells, et de Selection.End(XlDown)
OU bien effectue une recherche dans Cells et ton parametre de recherche serait VbNullstring
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
 Do While UCase(xls.ActiveSheet.Cells(1, colonne)) <> 0

Tiens (Ucase veut dire Majuscules --- et s'applique donc à un string) et 0 est une valeur
Déjà...
Celà te parait normal, d'exprimer çà ?
Et comment avances-tu dans ta colonne (qui ne change pas de valeur dans la boucle puisque tu dis que colonne = i une fois la bouckle finie.

Maintenant que tu sais celà ... tu peux peut-être revenir avec du "plus sensé" ? ?
Messages postés
254
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

Sinon je viens de créer ca


dim Celllule as Range
dim CelluleV as Range
For Each Cellule In xls.Sheets("R_analyse_croiséeé).Cells() 
   If Cellule = "" Then Exit For 
   Next Cellule 
Set CelluleV = Cellule
Set Cellule = Nothing


Mais je ne sais pas comment utilisé mon CelluleV j'ai essayé 
 xls.ActiveSheet.CelulleV.Copy
mais cela ne fonctionne pas
Messages postés
254
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

Pour jmfmarques:


OUi ce sont des chaines de caractère mais NULL ne fonctionne pas et pour d'autre chose j'avais utilisé cela comme ca je sais que c'est crade mais ca passait. Sinon je veux juste changer de colonne dans ma recherche ma ligne reste fixe voila
Messages postés
254
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

En fin de compte j'ai utilisé





xls.ActiveSheet.Range("a1").End(xlToRight)(1, 2)



ca mais il me demadne un "="
Si quelqu'un peut me le dire je le remercie d'avance
Messages postés
254
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
10 octobre 2013

J'ai résolu mon souci j'ai fais
colonne = xls.ActiveSheet.Range("a1").End(xlToRight)(1, 2).column
mais je ne sais pas comment on fait une selection de plage avec Cells
car je vais rentrer le numéro de ligne et de colonne.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Pour ton premier bout de code, il ne faut pas mettre colonne = 0
La colonne 0 n'existe pas sous Excel
        colonne = 1
        Do While xls.ActiveSheet.Cells(1, colonne) <> 0  ' ou <> ""
            colonne = colonne + 1
        Loop

MPi