boucle while pour detection cellule non vide

  • Initiateur de la discussion Initiateur de la discussion jebbayou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jebbayou

Guest
Bonjour à tous,

j'ai besoin de votre aide pour faire fonctionner mon code vb.
En effet, j'utilise ce bout de code pour remplir des cellules avec une détection de la dernière cellule non vide pour sortir du code.
Mon problème:
- c'est que je ne sais pas comment faire pour que lorsqu’il y a une cellule vide le code s’arrête de tourner.
- la cellule Bn reçoit une concaténation d'un numéro de téléphone + une date et heure j'aurai besoin d'une astuce pour convertir la date+heure en chiffre (comme une concaténation dans excel)
Sub prod()
Dim n As Integer
Dim d As Date
Worksheets("Donnees FT").Range("G1").Select

For n = 2 To 3000
Do While Not IsEmpty(Worksheets("Donnees FT").Range("G" & n))
d = Worksheets("Donnees FT").Range("H" & n)
Worksheets("Donnees FT").Range("B" & n) = Worksheets("Donnees FT").Range("G" & n) & d

If Worksheets("Donnees FT").Range("I" & n) = "non comptab. prod." Then
Worksheets("Donnees FT").Range("F" & n) = Worksheets("Donnees FT").Range("D" & n)
Worksheets("Donnees FT").Range("E" & n) = Worksheets("Donnees FT").Range("C" & n)
Else

If Worksheets("Donnees FT").Range("I" & n) = "post-prod" Then
Worksheets("Donnees FT").Range("F" & n) = Worksheets("Donnees FT").Range("F" & n - 1)
Worksheets("Donnees FT").Range("E" & n) = Worksheets("Donnees FT").Range("E" & n - 1)

End If
End If

Loop
Next n

End Sub

Merci de vos réponses.
 
Re : boucle while pour detection cellule non vide

Bonsoir,

Tu auras certainement plus de chances d'avoir des réponses avec un extrait de fichier
(remplace les données confidentielles par des données bidons)

Par ailleurs, pense à utiliser les balises quand tu inscrits du code dans un message, c'est bien plus lisible (clique sur le petit signe # au dessus de la fenêtre de message)

Bonne soirée 🙂

mth
 
Re : boucle while pour detection cellule non vide

Bonsoir
tu peux remplacer ton do while
par un boucle
for depuis le deniere cellule de ta colonne
for K = Range("A65536").End(xlUp).Row to 1 step -1
avec un if
if cells(k, 1).value= vb nullstring then
'passe au suivant
else
ton code
end if
next
Cordialement
flyonets
next
 
Re : boucle while pour detection cellule non vide

Bonjour et merci pur vos réponses,

Flyonets,mon besoin est de sortir de la macro sur la condition = vbnullstring donc directement sur le end sub.

if cells(k, 1).value<> vb nullstring then
'mon code
Else
sortir et arreter la macro (end sub)

Voila merci de vos réponses.
 
Re : boucle while pour detection cellule non vide

Re a tous,

ok c'est bon j'ai trouvé il faut utiliser le Exit Sub

If Worksheets("Donnees FT").Range("G" & n) = vbNullString Then Exit Sub

Par contre il me reste une question sur une concaténation, je voulais savoir comment convertir une date + heure en chiffre suite a une concaténation???
dans le fichier test dans la ligne A2 j'ai le résultat actuel et dans la cellule de A12 a A16 j'ai le format souhaité.(code dans feuil1)

Merci
 

Pièces jointes

Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
899
Réponses
3
Affichages
654
Réponses
3
Affichages
639
Réponses
7
Affichages
825
Réponses
4
Affichages
654
Retour