Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
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 25/07/2011, 17h37   #1
Invité régulier
 
Homme
Étudiant
Inscription : juin 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 20
Points : 8
Points : 8
Par défaut Problème d'exécution macro

Bonjour,

J'ai un problème lorsque j'exécute mon code, on dirait que rien ne ce passe pour certains macro.

Je me demandais si vous auriez une idée pourquoi les macro suivants pourrait ne pas s'exécuter.

pour insérer une ligne au dessus de chaque ligne total :
Code :
1
2
3
4
5
6
7
8
Sub AJOUTEREMPLOYE()
LR = Range("B300").End(xlUp).Row
    For X = LR To 1 Step -1
        If Cells(X, "B").Value = "TOTAL" Then
                Cells(X, "B").EntireRow.Insert
        End If
    Next X
End Sub
Pour supprimer une ligne qui comporte la même valeur que (Sourcee)
Code :
1
2
3
4
5
6
7
8
9
Sub Deleter()
LR = Range("B300").End(xlUp).Row
Source = Range("sourcee")
    For X = LR To 1 Step -1
        If Cells(X, "B").Value = Source Then
                Cells(X, "B").EntireRow.Delete
        End If
    Next X
End Sub
Merci!
Alexandre
Alex.d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 18h04   #2
Membre Expert
 
Inscription : novembre 2006
Messages : 1 464
Détails du profil
Informations personnelles :
Âge : 49

Informations forums :
Inscription : novembre 2006
Messages : 1 464
Points : 1 410
Points : 1 410
au niveau du code, pour moi, il fonctionne
est ce que toutes tes macros sont bloquée ? ou seulement celles là?
alsimbad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 19h19   #3
Invité régulier
 
Homme
Étudiant
Inscription : juin 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 20
Points : 8
Points : 8
Bonjour,

J'ai seulement les 2 qui marche pas!

Je vous joint le document! si vous pouvez me dire si cela marche de votre ordinateur!

merci!
Alex
Fichiers attachés
Type de fichier : zip Excel Planning.zip (85,7 Ko, 7 affichages)
Alex.d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 20h17   #4
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 306
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 306
Points : 2 654
Points : 2 654
Bonjour,
Pour une raison que je ne m'explique pas et je n'ai pas le temps de chercher, ton problème vient de la ligne
Code :
LR = Range("B300").End(xlUp).Row
Pour t'en convaincre, dès que tu ajoutes un nom, place toi en B300 et utilises le raccoucis clavier Ctrl+flèche vers le haut. Tu arrives à la cellule B1 alors qu'il y a des cellules remplies avant cela.
Donc LR = 1 et forcément la procédure ne parcourt aucune cellule
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 20h22   #5
Invité régulier
 
Homme
Étudiant
Inscription : juin 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 20
Points : 8
Points : 8
merci!

je ne comprend pas pourquoi, mais j'ai pris une ancienne version et cela marche! donc je vais recommencer avec les même codes!

merci!
Alex.d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 20h28   #6
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 306
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 306
Points : 2 654
Points : 2 654
Bonjour,
Petite parenthèse,
Il est inutile dans tes procédures de faire un copier/Collage Spécial avec Select etc..
Code :
1
2
3
4
5
6
7
8
9
10
11
Sub AjouterNOm()
LR = Range("B300").End(xlUp).Row
Source = Range("nomajouter")
    Range("nomajouter").Select
    Range("nomajouter").Copy
    For X = LR To 1 Step -1
        If Cells(X, "B").Value = "" Then
              Cells(X, "B").PasteSpecial
        End If
    Next X
End Sub
Le code ci-dessous fonctionne tout aussi bien et est plus rapide.
Code :
1
2
3
4
5
6
7
8
9
Sub AjouterNOm()
 LR = Range("B300").End(xlUp).Row
 Source = Range("nomajouter")
 For X = LR To 1 Step -1
   If Cells(X, "B").Value = "" Then
     Cells(X, "B") = Range("nomAjouter")
   End If
 Next X
End Sub
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 20h29   #7
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 692
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 692
Points : 1 443
Points : 1 443
Bonjour,

Dans ta colonne B, de la ligne 219 à la ligne 543, tes cellules contiennent des valeurs (valeur 1 ou caractère -).
Aussi, la ligne de code Range("B300").End(xlUp).Row retourne la valeur LR= 1.
Si tu supprimes ces tirets, tout doit rentrer dans l’ordre.

Cordialement.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h09.


 
 
 
 
Partenaires

Hébergement Web