Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Decalage si

22 réponses
Avatar
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

10 réponses

1 2 3
Avatar
DanielCo
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
Avatar
Manu
Ce seront toutes les cellules qui comporte "Rapport" écris ainsi et avec
cette casse.

Manu

"DanielCo" a écrit dans le message de news:
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




Avatar
isabelle
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" a écrit dans le message de news:
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









Avatar
DanielCo
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" a écrit dans le message de news:
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




Avatar
Manu
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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









Avatar
isabelle
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
















Avatar
Manu
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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










Avatar
DanielCo
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
Avatar
DanielCo
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...
Avatar
Manu
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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" a écrit dans le message de news:
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
















1 2 3