Executer deux tache excel
Résolu
nonossov
Messages postés
638
Statut
Membre
-
nonossov Messages postés 638 Statut Membre -
nonossov Messages postés 638 Statut Membre -
Bonjour mes amis,
J'ai besoin de votre expertise comment puis je executer deux tache excel a savoir: couper les cellule qui demarre par 0 et les coller dans la colonne "C" et les remplacer par Y. Exemple dans les colonnes suivantes:
A/B/C
0a
b
0c
d
le resultat:
A/B/C
y / /0a
b / /
y / /0c
d / /
j'ai couper coller les 0a . 0c dans la colonne C et les remplacer par y
Merci infiniment pour votre aide
J'ai besoin de votre expertise comment puis je executer deux tache excel a savoir: couper les cellule qui demarre par 0 et les coller dans la colonne "C" et les remplacer par Y. Exemple dans les colonnes suivantes:
A/B/C
0a
b
0c
d
le resultat:
A/B/C
y / /0a
b / /
y / /0c
d / /
j'ai couper coller les 0a . 0c dans la colonne C et les remplacer par y
Merci infiniment pour votre aide
Configuration: Windows / Firefox 52.0
A voir également:
- Executer deux tache excel
- Liste déroulante excel - Guide
- Nombre de jours entre deux dates excel - Guide
- Word et excel gratuit - Guide
- Fusionner deux cellules excel - Guide
- Déplacer colonne excel - Guide
2 réponses
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???????????????????
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
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
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
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
Merci infiniment
Ok, je regarde la chose
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 Subderlig = .Range("A" & .Rows.Count).End(xlUp).RowCe code vous donne la ligne de la derniere cellule NON VIDE de la colonne!!!!!!!!!!!!!!!!!!!!!!