Déterminer nb de jours à partir de la première cellule non vide
Résolu/Fermé
A voir également:
- Déterminer nb de jours à partir de la première cellule non vide
- Aller à la ligne dans une cellule excel - Guide
- Formate pour taxer client frigo vide ✓ - Forum Matériel & Système
- Formule excel si cellule non vide alors couleur ✓ - Forum Excel
- Nb si ens non vide ✓ - Forum Excel
- Internat nourriture - Forum Loisirs / Divertissements
5 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié par f894009 le 25/06/2013 à 09:10
Modifié par f894009 le 25/06/2013 à 09:10
Bonjour,
adaptez les cellules de copie, le nombre de colonnes et la lgne de depart.
Bonne suite
adaptez les cellules de copie, le nombre de colonnes et la lgne de depart.
Sub Bouton1_Clic() Application.ScreenUpdating = False With Worksheets("feuil1") 'ligne de depart lig = 1 For x = 2 To 5 'premiere cellule non vide valcherch = "*" lig = .Columns(x).Find(valcherch, .Cells(lig, x), , xlPart).Row .Cells(36, x) = .Cells(lig, "A") 'derniere cellule non vide valcherch = "" lig = .Columns(x).Find(valcherch, .Cells(lig, x), , xlPart).Row - 1 .Cells(37, x) = .Cells(lig, "A") Next x End With Application.ScreenUpdating = True End Sub
Bonne suite
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
26 juin 2013 à 15:24
26 juin 2013 à 15:24
Bonjour,
Je regarde la chose.
A+
Je regarde la chose.
A+
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
26 juin 2013 à 15:42
26 juin 2013 à 15:42
Re,
Sub Bouton1_Clic()
Dim plage As Range
Application.ScreenUpdating = False
With Worksheets("feuil1")
'derniere cellules non vide colonne A
lig = Range("A" & Rows.Count).End(xlUp).Row
'boucle sur les colonnes
For x = 2 To 4
'ligne de depart
lig1 = 1
'premiere cellule non vide
valcherch = "*"
lig1 = .Columns(x).Find(valcherch, .Cells(lig1, x), , xlPart).Row
.Cells(36, x) = .Cells(lig1, "A")
'derniere cellule non vide en partant du bas
Set plage = .Range(Chr(x + 64) & "1:" & Chr(x + 64) & CStr(lig))
a = plage.Address
For ligplage = lig To 1 Step -1
If .Cells(ligplage, x) <> "" Then
.Cells(37, x) = .Cells(ligplage, "A")
Exit For
End If
Next ligplage
Next x
End With
Application.ScreenUpdating = True
End Sub
dans le code precedent il y a une erreur pour ligne de depart(pas au bon endroit), corrige dans le code ci-dessus
A+
Sub Bouton1_Clic()
Dim plage As Range
Application.ScreenUpdating = False
With Worksheets("feuil1")
'derniere cellules non vide colonne A
lig = Range("A" & Rows.Count).End(xlUp).Row
'boucle sur les colonnes
For x = 2 To 4
'ligne de depart
lig1 = 1
'premiere cellule non vide
valcherch = "*"
lig1 = .Columns(x).Find(valcherch, .Cells(lig1, x), , xlPart).Row
.Cells(36, x) = .Cells(lig1, "A")
'derniere cellule non vide en partant du bas
Set plage = .Range(Chr(x + 64) & "1:" & Chr(x + 64) & CStr(lig))
a = plage.Address
For ligplage = lig To 1 Step -1
If .Cells(ligplage, x) <> "" Then
.Cells(37, x) = .Cells(ligplage, "A")
Exit For
End If
Next ligplage
Next x
End With
Application.ScreenUpdating = True
End Sub
dans le code precedent il y a une erreur pour ligne de depart(pas au bon endroit), corrige dans le code ci-dessus
A+
Merci F894009 pour ta réponse et ta rapidité, la macro fonctionne parfaitement !!!
Y'a plus qu'à la faire tourner maintenant ;o))
Mille mercis !!!
Y'a plus qu'à la faire tourner maintenant ;o))
Mille mercis !!!
J'ai fait une erreur dans mon précédent message. La macro ne me renvoie les dates que pour les lignes des colonnes B à Z, pour les lignes suivantes je n'ai rien d'afficher. le fichier que j'ai utilisé pour la faire tourner est le plus petit en terme de colonnes car j'en ai avec près de 8000 colonnes à traiter.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
27 juin 2013 à 18:38
27 juin 2013 à 18:38
Bonjour,
Vous pourriez repeter la question ????
Vous pourriez repeter la question ????
Bonjour,
Oui pas de soucis, je vais tacher d'être plus claire.
La macro a pour objectif de renvoyer la date (colonne A) associée à la première cellule non vide et à la dernière cellule non vide de chaque colonne de ma feuille (colonnes B et suivantes).
En pratique j'ai 615 colonnes, je cherche donc à identifier pour chacune de mes colonnes en partant de la colonne B, les dates (données en colonne A) correspondantes à la première cellule non vide et la dernière cellule non vide de chaque colonne.
Or quand j'applique la macro, elle ne me renvoie les dates que pour les colonnes A à Z, pour les autres colonnes je n'ai aucun résultat.
Oui pas de soucis, je vais tacher d'être plus claire.
La macro a pour objectif de renvoyer la date (colonne A) associée à la première cellule non vide et à la dernière cellule non vide de chaque colonne de ma feuille (colonnes B et suivantes).
En pratique j'ai 615 colonnes, je cherche donc à identifier pour chacune de mes colonnes en partant de la colonne B, les dates (données en colonne A) correspondantes à la première cellule non vide et la dernière cellule non vide de chaque colonne.
Or quand j'applique la macro, elle ne me renvoie les dates que pour les colonnes A à Z, pour les autres colonnes je n'ai aucun résultat.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
28 juin 2013 à 07:59
28 juin 2013 à 07:59
Bonjour,
C'est normal, autant pour moi, je regarde pour vous modifier le code.
A+
C'est normal, autant pour moi, je regarde pour vous modifier le code.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
28 juin 2013 à 08:09
28 juin 2013 à 08:09
Re,
code modifie:
A+
code modifie:
Sub test() Dim plage As Range Application.ScreenUpdating = False With Worksheets("feuil1") 'derniere cellules non vide colonne A lig = Range("A" & Rows.Count).End(xlUp).Row 'boucle sur les colonnes For x = 721 To 724 'ligne de depart lig1 = 1 ' premiere cellule non vide valcherch = "*" lig1 = .Columns(x).Find(valcherch, .Cells(lig1, x), , xlPart).Row .Cells(36, x) = .Cells(lig1, "A") 'derniere cellule non vide en partant du bas Set plage = .Range(Cells(1, x), Cells(lig, x)) a = plage.Address For ligplage = lig To 1 Step -1 If .Cells(ligplage, x) <> "" Then .Cells(37, x) = .Cells(ligplage, "A") Exit For End If Next ligplage Next x End With Application.ScreenUpdating = True End Sub
A+
25 juin 2013 à 13:11
Mille mercis !!!
26 juin 2013 à 13:56