Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/12/2011, 11h47   #1
 
Homme
Administrateur de base de données
Inscription : décembre 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 21
Points : -5
Points : -5
Par défaut Où est le problème dans ce code

Bonjour

S 'il vous plaît examiner ce code où le problème

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Sub al_TQREER_ALL()
Dim A As Long
Dim C As Range, D As Range, F As Range, Q
For R = 4 To Cells(Rows.Count, 5).End(xlUp).Row
If Cells(R, 5).Value <> Empty Then
If Cells(R, 5).Value = "Nouveau" Then
Set C = Range("B4:B" & R)
Set D = Range("D4:D" & R)
Set F = Range("AL4:AQ" & R)
Set Q = Range("AT4:AT" & R)
Set XXX = Union(C, D, F, Q)
Application.ScreenUpdating = False
Range("B" & XXX).Copy
With Worksheets(2)
ZZ = .Cells(1000, 2).End(xlUp).Row + 1
.Range("B" & ZZ).PasteSpecial xlPasteValues
.Application.CutCopyMode = False
.Application.ScreenUpdating = True
End With
End If
End If
Next R
End Sub
S'il vous plaît aider
alidroos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 12h22   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Oui, mais quel est le problème ? Une erreur, un comportement non prévu ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2011, 12h42   #3
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
XXX étant une variable de type Range, tu ne peux pas écrire :

__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2011, 13h29   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
En plus des remarques de Daniel, peut être tu voulais faire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Sub al_TQREER_ALL()
Dim i As Long, d As Long, NewLig As Long
 
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
d = 4
With Worksheets("Feuil1")                        'à adapter
    For i = 4 To .Cells(.Rows.Count, 5).End(xlUp).Row
        If .Cells(i, 5).Value = "Nouveau" Then
            Union(.Range("B" & d & ":B" & i), .Range("D" & d & ":D" & i), .Range("AL" & d & ":AQ" & i), .Range("AT" & d & ":AT" & i)).Copy
            With Worksheets(2)
                NewLig = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
                .Range("B" & NewLig).PasteSpecial xlPasteValues
            End With
            .Application.CutCopyMode = False
            d = i + 1
        End If
    Next i
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2011, 15h25   #5
 
Homme
Administrateur de base de données
Inscription : décembre 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 21
Points : -5
Points : -5
Merci beaucoup

Merci beaucoup
Mais la condition n'a pas été mis en œuvre

Code :
If .Cells(i, 5).Value = "Nouveau" Then
Je suis désolé parce que j'ai pris de votre temps
alidroos est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 24/12/2011, 15h36   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Dans la colonne E, tu as uniquement le mot Nouveau ou bien encore autre chose?
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/12/2011, 15h58   #7
 
Homme
Administrateur de base de données
Inscription : décembre 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 21
Points : -5
Points : -5
ces options

Nouveau
Mostagd
Vieux
alidroos est déconnecté   Envoyer un message privé Réponse avec citation 02
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h59.


 
 
 
 
Partenaires

Hébergement Web