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

Creer une feuille vierge dans un classeur deja existant et la placer apres une feuille

11 réponses
Avatar
cegeffroy
Bonsoir,

Bon je suis toujours entrain de bosser sur mon fichier. Il avance petit
a petit !!

Par contre, j'ai une question (comme toujours)

Je n'arrive pas a creer une feuille vierge et la placer apres une
feuille existante

Je sais le faire manuellement mais avec une macro....

De plus, pour ne pas avoir de souci, je voudrais affecter a cette
nouvelle feuille un nom et pas un truc comme Feuil1 ou autre et la
placer apres une feuille d=E9ja existante

Merci par avance=20

@ +

10 réponses

1 2
Avatar
Francois L
Bonsoir,

Bon je suis toujours entrain de bosser sur mon fichier. Il avance petit
a petit !!

Par contre, j'ai une question (comme toujours)

Je n'arrive pas a creer une feuille vierge et la placer apres une
feuille existante

Je sais le faire manuellement mais avec une macro....

De plus, pour ne pas avoir de souci, je voudrais affecter a cette
nouvelle feuille un nom et pas un truc comme Feuil1 ou autre et la
placer apres une feuille déja existante



Bonsoir,

Sou réserve que la feuille "Toto" n'existe pas...
la créer et la placer après Zaza
Sub zozo()
Sheets.Add after:=Sheets("Zaza")
ActiveSheet.Name = "Toto"
End Sub

--
François L

Avatar
MichDenis
Une des syntaxes possibles :

Ceci ajoute une feuille qui est placée juste avant la
feuille active... remplace Before par After pour la placer après

Worksheets.Add before:=Sheets(ActiveSheet.Index)



a écrit dans le message de news:

Bonsoir,

Bon je suis toujours entrain de bosser sur mon fichier. Il avance petit
a petit !!

Par contre, j'ai une question (comme toujours)

Je n'arrive pas a creer une feuille vierge et la placer apres une
feuille existante

Je sais le faire manuellement mais avec une macro....

De plus, pour ne pas avoir de souci, je voudrais affecter a cette
nouvelle feuille un nom et pas un truc comme Feuil1 ou autre et la
placer apres une feuille déja existante

Merci par avance

@ +
Avatar
lSteph
Bonsoir Geffroy,

Sheets.add after:=sheets("Feuil2")
activesheet.name="Perséverance"


Cdlt.

lSteph




a émis l'idée suivante :
Bonsoir,

Bon je suis toujours entrain de bosser sur mon fichier. Il avance petit
a petit !!

Par contre, j'ai une question (comme toujours)

Je n'arrive pas a creer une feuille vierge et la placer apres une
feuille existante

Je sais le faire manuellement mais avec une macro....

De plus, pour ne pas avoir de souci, je voudrais affecter a cette
nouvelle feuille un nom et pas un truc comme Feuil1 ou autre et la
placer apres une feuille déja existante

Merci par avance

@ +


--
- -

Avatar
MichDenis
Et si tu veux baptiser ta feuille dans la même ligne de code que tu veux l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"
Avatar
cegeffroy

Et si tu veux baptiser ta feuille dans la même ligne de code que tu veu x l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"


Merci pour tous ces messages :)

C'est vraiment bien de pouvoir trouver des réponses aussi rapides et
qui fonctionnent en plus !!!

Bon dernier point, comment comparer deux colonnes et noter sur une
troisieme les incohérences entre les deux colonnes.

je m'explique je veux que sur la feuille 3, il y ait les données
présentes dans la feuille 1 mais pas dans la feuille 2

(Sachant que les deux colonnes ne sont pas de tailles identiques)

faut il modifier cette macro ?

Application.ScreenUpdating = False
Sheets("Liste_Adm_Origine").Select
Set champReferences = Sheets("Liste APEL NON").[B2:B65000]
ligcodefam = 2
Do While ligcodefam <= [G65000].End(xlUp).Row
code = Cells(ligcodefam, 7)
Coherence = Application.Match(code, champReferences, 0)
If Not IsError(Coherence) Then
Cells(ligcodefam, 9) = " NON"
End If

If IsError(Coherence) Then
Cells(ligcodefam, 9) = "OUI"

End If

ligcodefam = ligcodefam + 1
Loop

Je pense que ce que je veux faire ressemble a cela non ?

(c'est vraiment embetant de ne pas s'y connaitre en macro et de devoir
poser des questions qui sont peut etre idiotes mais bon...))

Merci par avance

Avatar
MichDenis
Sub test()
Dim T(), A As Long
Dim Rg As Range, Rg1 As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

With Worksheets("Feuil2")
Set Rg1 = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For Each c In Rg

If Application.CountIf(Rg1, c) = 0 Then
ReDim Preserve T(A)
T(A) = c.Value
A = A + 1
End If
Next
Worksheets("Feuil3").Range("A1").Resize(UBound(T)) = _
Application.Transpose(T)
End Sub






a écrit dans le message de news:



Et si tu veux baptiser ta feuille dans la même ligne de code que tu veux l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"


Merci pour tous ces messages :)

C'est vraiment bien de pouvoir trouver des réponses aussi rapides et
qui fonctionnent en plus !!!

Bon dernier point, comment comparer deux colonnes et noter sur une
troisieme les incohérences entre les deux colonnes.

je m'explique je veux que sur la feuille 3, il y ait les données
présentes dans la feuille 1 mais pas dans la feuille 2

(Sachant que les deux colonnes ne sont pas de tailles identiques)

faut il modifier cette macro ?

Application.ScreenUpdating = False
Sheets("Liste_Adm_Origine").Select
Set champReferences = Sheets("Liste APEL NON").[B2:B65000]
ligcodefam = 2
Do While ligcodefam <= [G65000].End(xlUp).Row
code = Cells(ligcodefam, 7)
Coherence = Application.Match(code, champReferences, 0)
If Not IsError(Coherence) Then
Cells(ligcodefam, 9) = " NON"
End If

If IsError(Coherence) Then
Cells(ligcodefam, 9) = "OUI"

End If

ligcodefam = ligcodefam + 1
Loop

Je pense que ce que je veux faire ressemble a cela non ?

(c'est vraiment embetant de ne pas s'y connaitre en macro et de devoir
poser des questions qui sont peut etre idiotes mais bon...))

Merci par avance

Avatar
cegeffroy
Cette macro n'a pas l'air de fonctionner

Sur la feuille 3 je retrouve l'integralité de la colonne A de la
feuille 1 alors que je voudrais voir les éléments de la colonne A de
la feuille 1 non présent dans la colonne A de la feuille 2

Merci pour cette réponse malgré tout

@ +



Sub test()
Dim T(), A As Long
Dim Rg As Range, Rg1 As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

With Worksheets("Feuil2")
Set Rg1 = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For Each c In Rg

If Application.CountIf(Rg1, c) = 0 Then
ReDim Preserve T(A)
T(A) = c.Value
A = A + 1
End If
Next
Worksheets("Feuil3").Range("A1").Resize(UBound(T)) = _
Application.Transpose(T)
End Sub






a écrit dans le message de news:



Et si tu veux baptiser ta feuille dans la même ligne de code que tu v eux l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"


Merci pour tous ces messages :)

C'est vraiment bien de pouvoir trouver des réponses aussi rapides et
qui fonctionnent en plus !!!

Bon dernier point, comment comparer deux colonnes et noter sur une
troisieme les incohérences entre les deux colonnes.

je m'explique je veux que sur la feuille 3, il y ait les données
présentes dans la feuille 1 mais pas dans la feuille 2

(Sachant que les deux colonnes ne sont pas de tailles identiques)

faut il modifier cette macro ?

Application.ScreenUpdating = False
Sheets("Liste_Adm_Origine").Select
Set champReferences = Sheets("Liste APEL NON").[B2:B65000]
ligcodefam = 2
Do While ligcodefam <= [G65000].End(xlUp).Row
code = Cells(ligcodefam, 7)
Coherence = Application.Match(code, champReferences, 0)
If Not IsError(Coherence) Then
Cells(ligcodefam, 9) = " NON"
End If

If IsError(Coherence) Then
Cells(ligcodefam, 9) = "OUI"

End If

ligcodefam = ligcodefam + 1
Loop

Je pense que ce que je veux faire ressemble a cela non ?

(c'est vraiment embetant de ne pas s'y connaitre en macro et de devoir
poser des questions qui sont peut etre idiotes mais bon...))

Merci par avance



Avatar
cegeffroy
Cette macro n'a pas l'air de fonctionner

Sur la feuille 3 je retrouve l'integralité de la colonne A de la
feuille 1 alors que je voudrais voir les éléments de la colonne A de
la feuille 1 non présent dans la colonne A de la feuille 2

Merci pour cette réponse malgré tout

@ +



Sub test()
Dim T(), A As Long
Dim Rg As Range, Rg1 As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

With Worksheets("Feuil2")
Set Rg1 = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For Each c In Rg

If Application.CountIf(Rg1, c) = 0 Then
ReDim Preserve T(A)
T(A) = c.Value
A = A + 1
End If
Next
Worksheets("Feuil3").Range("A1").Resize(UBound(T)) = _
Application.Transpose(T)
End Sub






a écrit dans le message de news:



Et si tu veux baptiser ta feuille dans la même ligne de code que tu v eux l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"


Merci pour tous ces messages :)

C'est vraiment bien de pouvoir trouver des réponses aussi rapides et
qui fonctionnent en plus !!!

Bon dernier point, comment comparer deux colonnes et noter sur une
troisieme les incohérences entre les deux colonnes.

je m'explique je veux que sur la feuille 3, il y ait les données
présentes dans la feuille 1 mais pas dans la feuille 2

(Sachant que les deux colonnes ne sont pas de tailles identiques)

faut il modifier cette macro ?

Application.ScreenUpdating = False
Sheets("Liste_Adm_Origine").Select
Set champReferences = Sheets("Liste APEL NON").[B2:B65000]
ligcodefam = 2
Do While ligcodefam <= [G65000].End(xlUp).Row
code = Cells(ligcodefam, 7)
Coherence = Application.Match(code, champReferences, 0)
If Not IsError(Coherence) Then
Cells(ligcodefam, 9) = " NON"
End If

If IsError(Coherence) Then
Cells(ligcodefam, 9) = "OUI"

End If

ligcodefam = ligcodefam + 1
Loop

Je pense que ce que je veux faire ressemble a cela non ?

(c'est vraiment embetant de ne pas s'y connaitre en macro et de devoir
poser des questions qui sont peut etre idiotes mais bon...))

Merci par avance



Avatar
cegeffroy
Cette marcro n'a pas l'air de fonctionner

En fait en appliquant cette amcro je retrouve la totalité de la
colonne A sur la feuille 3 alors que je voudrais voir sur la feuille 3
les éléments de la feuille 1 colonne A non présents dans la feuille
2 colonne A

Quelqu'un a une idée ?

Merci pour vos réponses

@ +



Sub test()
Dim T(), A As Long
Dim Rg As Range, Rg1 As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

With Worksheets("Feuil2")
Set Rg1 = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For Each c In Rg

If Application.CountIf(Rg1, c) = 0 Then
ReDim Preserve T(A)
T(A) = c.Value
A = A + 1
End If
Next
Worksheets("Feuil3").Range("A1").Resize(UBound(T)) = _
Application.Transpose(T)
End Sub






a écrit dans le message de news:



Et si tu veux baptiser ta feuille dans la même ligne de code que tu v eux l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"


Merci pour tous ces messages :)

C'est vraiment bien de pouvoir trouver des réponses aussi rapides et
qui fonctionnent en plus !!!

Bon dernier point, comment comparer deux colonnes et noter sur une
troisieme les incohérences entre les deux colonnes.

je m'explique je veux que sur la feuille 3, il y ait les données
présentes dans la feuille 1 mais pas dans la feuille 2

(Sachant que les deux colonnes ne sont pas de tailles identiques)

faut il modifier cette macro ?

Application.ScreenUpdating = False
Sheets("Liste_Adm_Origine").Select
Set champReferences = Sheets("Liste APEL NON").[B2:B65000]
ligcodefam = 2
Do While ligcodefam <= [G65000].End(xlUp).Row
code = Cells(ligcodefam, 7)
Coherence = Application.Match(code, champReferences, 0)
If Not IsError(Coherence) Then
Cells(ligcodefam, 9) = " NON"
End If

If IsError(Coherence) Then
Cells(ligcodefam, 9) = "OUI"

End If

ligcodefam = ligcodefam + 1
Loop

Je pense que ce que je veux faire ressemble a cela non ?

(c'est vraiment embetant de ne pas s'y connaitre en macro et de devoir
poser des questions qui sont peut etre idiotes mais bon...))

Merci par avance



Avatar
MichDenis
Fichier exemple là : http://cjoint.com/?mfpp7kwZSs



a écrit dans le message de news:

Cette marcro n'a pas l'air de fonctionner

En fait en appliquant cette amcro je retrouve la totalité de la
colonne A sur la feuille 3 alors que je voudrais voir sur la feuille 3
les éléments de la feuille 1 colonne A non présents dans la feuille
2 colonne A

Quelqu'un a une idée ?

Merci pour vos réponses

@ +



Sub test()
Dim T(), A As Long
Dim Rg As Range, Rg1 As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

With Worksheets("Feuil2")
Set Rg1 = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

For Each c In Rg

If Application.CountIf(Rg1, c) = 0 Then
ReDim Preserve T(A)
T(A) = c.Value
A = A + 1
End If
Next
Worksheets("Feuil3").Range("A1").Resize(UBound(T)) = _
Application.Transpose(T)
End Sub






a écrit dans le message de news:



Et si tu veux baptiser ta feuille dans la même ligne de code que tu veux l'ajouter :

Sheets.Add(After:=Sheets(ActiveSheet.Index)).Name = "toto"


Merci pour tous ces messages :)

C'est vraiment bien de pouvoir trouver des réponses aussi rapides et
qui fonctionnent en plus !!!

Bon dernier point, comment comparer deux colonnes et noter sur une
troisieme les incohérences entre les deux colonnes.

je m'explique je veux que sur la feuille 3, il y ait les données
présentes dans la feuille 1 mais pas dans la feuille 2

(Sachant que les deux colonnes ne sont pas de tailles identiques)

faut il modifier cette macro ?

Application.ScreenUpdating = False
Sheets("Liste_Adm_Origine").Select
Set champReferences = Sheets("Liste APEL NON").[B2:B65000]
ligcodefam = 2
Do While ligcodefam <= [G65000].End(xlUp).Row
code = Cells(ligcodefam, 7)
Coherence = Application.Match(code, champReferences, 0)
If Not IsError(Coherence) Then
Cells(ligcodefam, 9) = " NON"
End If

If IsError(Coherence) Then
Cells(ligcodefam, 9) = "OUI"

End If

ligcodefam = ligcodefam + 1
Loop

Je pense que ce que je veux faire ressemble a cela non ?

(c'est vraiment embetant de ne pas s'y connaitre en macro et de devoir
poser des questions qui sont peut etre idiotes mais bon...))

Merci par avance



1 2