Executer deux tache excel
Résolu/Fermé
nonossov
Messages postés
611
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
17 janvier 2020
-
Modifié le 12 déc. 2018 à 12:15
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020 - 20 déc. 2018 à 16:46
nonossov Messages postés 611 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 17 janvier 2020 - 20 déc. 2018 à 16:46
A voir également:
- Executer deux tache excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Deux comptes whatsapp - Guide
- Tache noir ecran iphone ✓ - Forum iPhone
- Déplacer une colonne excel - Guide
2 réponses
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
12 déc. 2018 à 18:06
12 déc. 2018 à 18:06
Bonjour,
Sure que ce sont des lettres apres les "0" et la ou y a pas de "0" aussi???????????????????
Sure que ce sont des lettres apres les "0" et la ou y a pas de "0" aussi???????????????????
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
Modifié le 19 déc. 2018 à 08:25
Modifié le 19 déc. 2018 à 08:25
Bonjour,
Est ce que vousn pouvez inserer
Oui.
Est ce que vousn pouvez inserer
Oui.
Sub decoupe()
Dim Plage As Range
With Worksheets("feuil1")
derlig = .Range("A" & .Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A
Set Plage = .Range("A1:A" & derlig) 'mise en memoire plage de cellules
Nb = Application.CountIf(Plage, "0*") 'nombre de fois "0" et lettre
If Nb > 0 Then
Memlig = 1
Do While Application.CountIf(Plage, "0*") > 0 'boucle sur la colonne
lig = .Columns(1).Find("0*", .Cells(Memlig, 1), , xlWhole).Row
Memlig = lig
Ville = .Cells(lig, 1)
Flg_Vide = False
CR = Worksheets("Les variables").Columns(1).Find(Ville).Row
If Worksheets("Les variables").Cells(CR, 2) = "" Then
Flg_Vide = True
Else
Set CR = Worksheets("Les variables").Columns(1).Find(Ville).Row
End If
Nb = Application.CountIf(Plage, Ville)
If Nb > 0 Then
For d = 1 To Nb
lig = .Columns(1).Find(Ville, .Cells(lig, 1), , xlWhole).Row
If Not Flg_Vide Then
.Cells(lig, 3) = .Cells(lig, 1): CR.Offset(, 1).Copy .Cells(lig, 1)
Else
.Cells(lig, 3) = .Cells(lig, 1): .Cells(lig, 1) = 401100
End If
Next d
End If
Loop
End If
End With
Set Plage = Nothing
Set CR = Nothing
End Sub
nonossov
Messages postés
611
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
17 janvier 2020
1
19 déc. 2018 à 10:13
19 déc. 2018 à 10:13
Je ne ss pas pourquoi je recois un message d'erreur:
Merci d'essayer l'execution de la macro:
https://www.cjoint.com/c/HLtjnVHkVpH
Merci d'essayer l'execution de la macro:
https://www.cjoint.com/c/HLtjnVHkVpH
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
Modifié le 19 déc. 2018 à 11:27
Modifié le 19 déc. 2018 à 11:27
Re,
Ben, je regarde
Suite:
petit probleme avec definition de CR, corrigé:
Ben, je regarde
Suite:
petit probleme avec definition de CR, corrigé:
Sub decoupe()
Dim Plage As Range
With Worksheets("feuil1")
derlig = .Range("A" & .Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A
Set Plage = .Range("A1:A" & derlig) 'mise en memoire plage de cellules
Nb = Application.CountIf(Plage, "0*") 'nombre de fois "0" et lettre
If Nb > 0 Then
Memlig = 1
Do While Application.CountIf(Plage, "0*") > 0 'boucle sur la colonne
lig = .Columns(1).Find("0*", .Cells(Memlig, 1), , xlWhole).Row
Memlig = lig
Ville = .Cells(lig, 1)
Flg_Vide = False
CR = Worksheets("Les variables").Columns(1).Find(Ville).Row
If Worksheets("Les variables").Cells(CR, 2) = "" Then
Flg_Vide = True
End If
Nb = Application.CountIf(Plage, Ville)
If Nb > 0 Then
For d = 1 To Nb
lig = .Columns(1).Find(Ville, .Cells(lig, 1), , xlWhole).Row
If Not Flg_Vide Then
.Cells(lig, 3) = .Cells(lig, 1): Worksheets("Les variables").Cells(CR, 2).Copy .Cells(lig, 1)
Else
.Cells(lig, 3) = .Cells(lig, 1): .Cells(lig, 1) = 401100
End If
Next d
End If
Loop
End If
End With
Set Plage = Nothing
Set CR = Nothing
End Sub
nonossov
Messages postés
611
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
17 janvier 2020
1
Modifié le 19 déc. 2018 à 11:54
Modifié le 19 déc. 2018 à 11:54
je crois que tjrs le meme probleme,
lorsque je mets un nouveau 0XXX dans la feuil "feuil1" qui ne fégure pas l'autre feuil la macro donne une erreure
lorsque je mets un nouveau 0XXX dans la feuil "feuil1" qui ne fégure pas l'autre feuil la macro donne une erreure
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
Modifié le 19 déc. 2018 à 18:51
Modifié le 19 déc. 2018 à 18:51
Re,
Tout a fait Thierry, vous ne l'avez pas dit que vous pouvez avoir des 0xxx qui ne figurent pas dans Les Variables!!
C'est a vous de definir le "cahier des charges"
Je modifie
Tout a fait Thierry, vous ne l'avez pas dit que vous pouvez avoir des 0xxx qui ne figurent pas dans Les Variables!!
C'est a vous de definir le "cahier des charges"
Je modifie
Sub decoupe()
Dim Plage As Range, CR As Range, LV As Long
With Worksheets("feuil1")
derlig = .Range("A" & .Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A
Set Plage = .Range("A1:A" & derlig) 'mise en memoire plage de cellules
Nb = Application.CountIf(Plage, "0*") 'nombre de fois "0" et lettre
If Nb > 0 Then
Memlig = 1
Do While Application.CountIf(Plage, "0*") > 0 'boucle sur la colonne
lig = .Columns(1).Find("0*", .Cells(Memlig, 1), , xlWhole).Row
Memlig = lig
Ville = .Cells(lig, 1)
Flg_Vide = False
Set CV = Worksheets("Les variables").Columns(1).Find(Ville)
If Not CV Is Nothing Then
LV = CV.Row
If Worksheets("Les variables").Cells(LV, 2) = "" Then Flg_Vide = True
Nb = Application.CountIf(Plage, Ville)
If Nb > 0 Then
For d = 1 To Nb
lig = .Columns(1).Find(Ville, .Cells(lig, 1), , xlWhole).Row
If Not Flg_Vide Then
.Cells(lig, 3) = .Cells(lig, 1): Worksheets("Les variables").Cells(LV, 2).Copy .Cells(lig, 1)
Else
.Cells(lig, 3) = .Cells(lig, 1): .Cells(lig, 1) = 401100
End If
Next d
End If
Else
.Cells(lig, 2) = Ville: .Cells(lig, 1) = "NOK"
MsgBox "Attention: " & Ville & " n'est pas dans feuille Les Variables !!!!"
End If
Loop
End If
End With
Set Plage = Nothing
Set CR = Nothing
End Sub
nonossov
Messages postés
611
Date d'inscription
lundi 29 décembre 2014
Statut
Membre
Dernière intervention
17 janvier 2020
1
20 déc. 2018 à 16:46
20 déc. 2018 à 16:46
Merci Merci Merci, pour le travail que vous avez fait, et pour tout, Merci infiniment
12 déc. 2018 à 18:27
Merci infiniment
13 déc. 2018 à 07:28
Ok, je regarde la chose
13 déc. 2018 à 08:29
Suite
Une facon de faire
Sub decoupe() With Worksheets("feuil1") derlig = .Range("A" & .Rows.Count).End(xlUp).Row 'derniere cellule non vide colonne A Set Plage = .Range("A1:A" & derlig) 'mise en memoire plage de cellules Nb = Application.CountIf(Plage, "0*") 'nombre de fois "0" et lettre If Nb > 0 Then For n = 1 To derlig 'boucle sur la colonne If nf > Nb Then Exit Sub 'nombe de fois +1 atteint sortie If Plage(n, 1) Like "0*" Then 'test cellule Plage(n, 3) = Plage(n, 1): Plage(n, 1) = "y" 'ecriture cellules End If nf = nf + 1 'increment pour test Next n End If End With Set Plage = Nothing End Sub17 déc. 2018 à 10:10
Modifié le 17 déc. 2018 à 11:26
derlig = .Range("A" & .Rows.Count).End(xlUp).RowCe code vous donne la ligne de la derniere cellule NON VIDE de la colonne!!!!!!!!!!!!!!!!!!!!!!