Decalage si

Le
Manu
Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A une
cellule comportant le mot "rapport", qu'il me deplace cette cellule d'une
case sur sa droite.

Merci de votre soutien

Manu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23205971
Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel


Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A une
cellule comportant le mot "rapport", qu'il me deplace cette cellule d'une
case sur sa droite.

Merci de votre soutien

Manu
Manu
Le #23205991
Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$
Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel


Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A
une cellule comportant le mot "rapport", qu'il me deplace cette cellule
d'une case sur sa droite.

Merci de votre soutien

Manu




isabelle
Le #23206041
bonjour Manu,

Sub Macro1()
Dim c As Range
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Range(c.Address) = ""
End If
Next
End Sub

isabelle



Le 2011-03-15 06:24, Manu a écrit :
Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$

Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel



Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A
une cellule comportant le mot "rapport", qu'il me deplace cette cellule
d'une case sur sa droite.

Merci de votre soutien

Manu









DanielCo
Le #23206071
ou bien :
Sub test()
Dim c As Range
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
If Not c Is Nothing Then
Do
c.Cut c.Offset(, 1)
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
Loop Until c Is Nothing
End If
End Sub
Daniel


Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$
Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel


Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A
une cellule comportant le mot "rapport", qu'il me deplace cette cellule
d'une case sur sa droite.

Merci de votre soutien

Manu




Manu
Le #23206061
Merci isabelle,

Ca fonctionne impec, et si je souhaiterais maintenant inserer une ligne en
dessous des cellules comportant "Rapport" dans la col B en m'inspirant de
ton code, est ce que ca ressemblerait à cà,
Merci

Sub Macro2()
Dim c As Range
For Each c In Range("B1:B" & Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Selection.Insert shift:=xlDown
'Je crois que ce code insere au dessus et non au dessous
End If
Next
End Sub



"isabelle" ilnfl5$krm$
bonjour Manu,

Sub Macro1()
Dim c As Range
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Range(c.Address) = ""
End If
Next
End Sub

isabelle



Le 2011-03-15 06:24, Manu a écrit :
Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$

Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel



Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A
une cellule comportant le mot "rapport", qu'il me deplace cette cellule
d'une case sur sa droite.

Merci de votre soutien

Manu









isabelle
Le #23206151
bonjour Manu,

Sub Macro1()
Dim c As Range
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Range(c.Address) = ""
Rows(c.Row + 1).Insert shift:=xlDown
End If
Next
End Sub

isabelle

Le 2011-03-15 06:59, Manu a écrit :
Merci isabelle,

Ca fonctionne impec, et si je souhaiterais maintenant inserer une ligne en
dessous des cellules comportant "Rapport" dans la col B en m'inspirant de
ton code, est ce que ca ressemblerait à cà,
Merci

Sub Macro2()
Dim c As Range
For Each c In Range("B1:B"& Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Selection.Insert shift:=xlDown
'Je crois que ce code insere au dessus et non au dessous
End If
Next
End Sub



"isabelle" ilnfl5$krm$

bonjour Manu,

Sub Macro1()
Dim c As Range
For Each c In Range("A1:A"& Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Range(c.Address) = ""
End If
Next
End Sub

isabelle



Le 2011-03-15 06:24, Manu a écrit :

Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$


Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel




Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A
une cellule comportant le mot "rapport", qu'il me deplace cette cellule
d'une case sur sa droite.

Merci de votre soutien

Manu
















Manu
Le #23206141
Merci Daniel, ca fonctionne egalement nickel, mais plus dur à comprendre
pour moi qui suis novice en VBA, car pour arriver à mes fins, je fais un
melange de ce que vous m'apprenez avec des lignes que je m'enregistre par
l'enregistreur, et c'est vraiment coton.
Par exemple j'essaie maintenant d'inserer une ligne en dessous des cellules
qui comportent "Rapport" dans la colonne B et là, j'avoue que c'est costaud,
je vais tacher de comprendre ce que tu as fais, dis moi si je me trompe...

Sub test()
Dim c As Range


'Ca je pense que tu donne c comme variable....
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)


'Trouves dans la colonne A le mot Rapport et tu le donne à la variable c
If Not c Is Nothing Then


'Si tu ne trouves pas c alors....
Do


'????
c.Cut c.Offset(, 1)


'Coupe la cellule trouvé de la variable c et colle là à droite
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
Loop Until c Is Nothing


'si tu ne trouves pas c alors ne fais rien
End If
End Sub



Merci de vos commentaires

Manu

"DanielCo" ilng7q$md4$
ou bien :
Sub test()
Dim c As Range
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
If Not c Is Nothing Then
Do
c.Cut c.Offset(, 1)
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
Loop Until c Is Nothing
End If
End Sub
Daniel


Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$
Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel


Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne A
une cellule comportant le mot "rapport", qu'il me deplace cette cellule
d'une case sur sa droite.

Merci de votre soutien

Manu










DanielCo
Le #23206131
If Not c Is Nothing Then


'Si tu ne trouves pas c alors....



Non, c'est le contraire, c'est si je trouve la valeur, donc "c n'est
pas rien".
Sinon, tu as tout compris.
Daniel
DanielCo
Le #23206191
Sub test()
Dim c As Range
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
If Not c Is Nothing Then
Do
c.Cut c.Offset(, 1)
c.Offset(1).EntireRow.Insert
Set c = [A:A].Find("Rapport", MatchCase:=True, lookat:=xlPart)
Loop Until c Is Nothing
End If
End Sub
Daniel


Merci Daniel, ca fonctionne egalement nickel, mais plus dur à comprendre pour
moi qui suis novice en VBA, car pour arriver à mes fins, je fais un melange
de ce que vous m'apprenez avec des lignes que je m'enregistre par
l'enregistreur, et c'est vraiment coton.
Par exemple j'essaie maintenant d'inserer une ligne en dessous des cellules
qui comportent "Rapport" dans la colonne B et là, j'avoue que c'est costaud,
je vais tacher de comprendre ce que tu as fais, dis moi si je me trompe...
Manu
Le #23206181
Super, c'est un tout en 1 je croyis que cette procedure ne faisais
qu'inserer les lignes, mais il fait aussi le decalage, super, ca simplifie
et si maintenant je souhaite qu'a chaque fois qu'il vois "Rapport" qu'il
aille 4 cases à droite pour faire une adition des cellules de la col C et D

Exemple,
Si dans la colonne B il trouve le mot "Rapport" en B42, je voudrais qu'en
F42 il me fasse la formule C42 + D42

Je sais, ca ce complique encore davantage.... Est ce que ca ressemble un peu
à cela pour le debut. Difficile d'apprendre ce langage par soit meme.

Merci


Sub Macro2()
Dim c As Range
For Each c In Range("B1:B" & Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
ActiveCell.Offset(0, 4).Range("A1").Select


"isabelle" ilnh01$obm$
bonjour Manu,

Sub Macro1()
Dim c As Range
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Range(c.Address) = ""
Rows(c.Row + 1).Insert shift:=xlDown
End If
Next
End Sub

isabelle

Le 2011-03-15 06:59, Manu a écrit :
Merci isabelle,

Ca fonctionne impec, et si je souhaiterais maintenant inserer une ligne
en
dessous des cellules comportant "Rapport" dans la col B en m'inspirant de
ton code, est ce que ca ressemblerait à cà,
Merci

Sub Macro2()
Dim c As Range
For Each c In Range("B1:B"& Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Selection.Insert shift:=xlDown
'Je crois que ce code insere au dessus et non au dessous
End If
Next
End Sub



"isabelle" ilnfl5$krm$

bonjour Manu,

Sub Macro1()
Dim c As Range
For Each c In Range("A1:A"& Range("A65536").End(xlUp).Row)
If c Like "*Rapport*" Then
Range(c.Offset(, 1).Address) = c
Range(c.Address) = ""
End If
Next
End Sub

isabelle



Le 2011-03-15 06:24, Manu a écrit :

Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et
avec
cette casse.

Manu

"DanielCo" ilne4r$h9e$


Bonjour,
Est-ce qu'on doit envisager la possibilité de trouver :
"rapport,", "rapport?", "Rapport" etc.
Cordialement.
Daniel




Bonjour,

Comment puis je demander à Excel que dés qu'il trouve dans la colonne
A
une cellule comportant le mot "rapport", qu'il me deplace cette
cellule
d'une case sur sa droite.

Merci de votre soutien

Manu
















Publicité
Poster une réponse
Anonyme