Erreur 1004
Résolu/Fermé
Tiboo73
Messages postés
2
Date d'inscription
mardi 13 août 2013
Statut
Membre
Dernière intervention
14 août 2013
-
13 août 2013 à 17:40
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 20 août 2013 à 13:36
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 20 août 2013 à 13:36
A voir également:
- Erreur 1004 excel
- Erreur 0x80070643 - Accueil - Windows
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
12 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
14 août 2013 à 09:41
14 août 2013 à 09:41
Bonjour,
Sans polus de détail, ca va être difficile de t'aider car comme ca ton code est correst. Quelle ligne est en jaune quand tu lances la macro? Quel est le message d'erreur ?
Cette macro est valable pour un fichier excel, est-ce bien sur Excel que tu veux l'utiliser?
Ton fichier excel comporte-t-il une feuille formulaire de saisie et une feuille nommée base de données ?
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
'sélectionne la feuille Formulaire saisie
Sheets("Formulaire saisie").Select
'sélectionnes les cellules de B1 à B11
Range("B1:B11").Select
' copies les cellules B1 à B11
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
'sélectionnes la feuille nommée base de données
Sheets("Base de données").Select
'si ta cellule A2 de la feuille base de données = rien, alors on sélectionnes A2
If Range("A2").Value = "" Then
Range("A2").Select
Else
'sinon on sélectionnes A1, on trouve la dernière ligne et on sélectionne la cellule A de la dernière ligne
Range("A1").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Mémoriser le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=x1PasteAllExceptBorders, _
Operation:=x1None, SkipBlanks:=False, Transpose:=True
'Rendre vierge le formulaire
'on resélectionnes la feuille formulaire de saisie
Sheets("Formulaire saisie").Select
'on vide les cellules B1 à B11
Range("B1:B11").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
Sans polus de détail, ca va être difficile de t'aider car comme ca ton code est correst. Quelle ligne est en jaune quand tu lances la macro? Quel est le message d'erreur ?
Cette macro est valable pour un fichier excel, est-ce bien sur Excel que tu veux l'utiliser?
Ton fichier excel comporte-t-il une feuille formulaire de saisie et une feuille nommée base de données ?
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
'sélectionne la feuille Formulaire saisie
Sheets("Formulaire saisie").Select
'sélectionnes les cellules de B1 à B11
Range("B1:B11").Select
' copies les cellules B1 à B11
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
'sélectionnes la feuille nommée base de données
Sheets("Base de données").Select
'si ta cellule A2 de la feuille base de données = rien, alors on sélectionnes A2
If Range("A2").Value = "" Then
Range("A2").Select
Else
'sinon on sélectionnes A1, on trouve la dernière ligne et on sélectionne la cellule A de la dernière ligne
Range("A1").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Mémoriser le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=x1PasteAllExceptBorders, _
Operation:=x1None, SkipBlanks:=False, Transpose:=True
'Rendre vierge le formulaire
'on resélectionnes la feuille formulaire de saisie
Sheets("Formulaire saisie").Select
'on vide les cellules B1 à B11
Range("B1:B11").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
Tiboo73
Messages postés
2
Date d'inscription
mardi 13 août 2013
Statut
Membre
Dernière intervention
14 août 2013
14 août 2013 à 10:44
14 août 2013 à 10:44
Salut et merci pour la réponse.
c'est bien un fichier excel ; j'ai bien une feuille "Formulaire saisie" et une feuille "Base de données".
Quand j'essaye de lancer la macro, qui apparaît avec le nom "Feuil2.transpose_dans_tableau" (en faisant F5 puis "pas à pas détaillé"), j'ai la première ligne "Sub transpose dans tableau()" qui se met en jaune surligné... Sinon ça me marque "la méthode Select de la classe Range a échoué", ou quand j'essaye de lancer la macro depuis la feuille "Formulaire de saisie" j'ai un message d'erreur "400" qui s'affiche.
Bref, pour moi le mystère demeure!
Si tu as des idées, sois en remerciée ;-)
c'est bien un fichier excel ; j'ai bien une feuille "Formulaire saisie" et une feuille "Base de données".
Quand j'essaye de lancer la macro, qui apparaît avec le nom "Feuil2.transpose_dans_tableau" (en faisant F5 puis "pas à pas détaillé"), j'ai la première ligne "Sub transpose dans tableau()" qui se met en jaune surligné... Sinon ça me marque "la méthode Select de la classe Range a échoué", ou quand j'essaye de lancer la macro depuis la feuille "Formulaire de saisie" j'ai un message d'erreur "400" qui s'affiche.
Bref, pour moi le mystère demeure!
Si tu as des idées, sois en remerciée ;-)
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
14 août 2013 à 11:08
14 août 2013 à 11:08
coucou,
essaie avec ce code et si ca ne marche pas, ton classeur ne serait-il pas protéger par hasard??
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
'sélectionne la feuille Formulaire saisie
Sheets("Formulaire saisie").Select
'sélectionnes les cellules de B1 à B11
Range("B1:B11").Select
' copies les cellules B1 à B11
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
'sélectionnes la feuille nommée base de données
Sheets("Base de données").Select
'si ta cellule A2 de la feuille base de données = rien, alors on sélectionnes A2
If Range("A2").Value = "" Then
Range("A2").Select
Else
'sinon on sélectionnes A1, on trouve la dernière ligne et on sélectionne la cellule A de la dernière ligne
Range("A1").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Mémoriser le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
'Rendre vierge le formulaire
'on resélectionnes la feuille formulaire de saisie
Sheets("Formulaire saisie").Select
'on vide les cellules B1 à B11
Range("B1:B11").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
essaie avec ce code et si ca ne marche pas, ton classeur ne serait-il pas protéger par hasard??
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
'sélectionne la feuille Formulaire saisie
Sheets("Formulaire saisie").Select
'sélectionnes les cellules de B1 à B11
Range("B1:B11").Select
' copies les cellules B1 à B11
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
'sélectionnes la feuille nommée base de données
Sheets("Base de données").Select
'si ta cellule A2 de la feuille base de données = rien, alors on sélectionnes A2
If Range("A2").Value = "" Then
Range("A2").Select
Else
'sinon on sélectionnes A1, on trouve la dernière ligne et on sélectionne la cellule A de la dernière ligne
Range("A1").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
'Mémoriser le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
'Rendre vierge le formulaire
'on resélectionnes la feuille formulaire de saisie
Sheets("Formulaire saisie").Select
'on vide les cellules B1 à B11
Range("B1:B11").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
Re.
Ben le fichier n'est pas protégé mais ça ne marche toujours pas... Et l'exécution pas à pas semble bloquer à la première ligne (Sub transpose_dans_tableau()).
Ben le fichier n'est pas protégé mais ça ne marche toujours pas... Et l'exécution pas à pas semble bloquer à la première ligne (Sub transpose_dans_tableau()).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 11:43
19 août 2013 à 11:43
mets ton fichier sous cjoint.com
Excuses-moi je suis nul mais je ne vois pas comment joindre le fichier :-(
Peux-tu me guider que je te l'envoies au plus vite.
Merci à toi ;-)
Peux-tu me guider que je te l'envoies au plus vite.
Merci à toi ;-)
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 13:10
19 août 2013 à 13:10
tu vas sur :
https://www.cjoint.com/
tu cliques sur parcourir, tu mets le fichier, tu cliques en bas sur le bouton créer le lien cjoint.
Dans la fenêtre suivante, il te donne une adresse : http//, tu la copies et tu la mets ici.
https://www.cjoint.com/
tu cliques sur parcourir, tu mets le fichier, tu cliques en bas sur le bouton créer le lien cjoint.
Dans la fenêtre suivante, il te donne une adresse : http//, tu la copies et tu la mets ici.
http://cjoint.com/?CHtnIIUTYRD
Et voilà le travail! Merci pour tes indications ;-)
Et de ce que tu pourras faire pour moi!
A +
Et voilà le travail! Merci pour tes indications ;-)
Et de ce que tu pourras faire pour moi!
A +
f894009
Messages postés
17221
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 janvier 2025
1 712
19 août 2013 à 16:03
19 août 2013 à 16:03
Bonjour,
un exemple de programmation pour votre fichier:
https://www.cjoint.com/c/CHtqcTfhnOG
Bonne suite
un exemple de programmation pour votre fichier:
https://www.cjoint.com/c/CHtqcTfhnOG
Bonne suite
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 16:11
19 août 2013 à 16:11
coucou,
Ca y est, j'ai compris ton pb.
Ta macro ne peut pas fonctionner parce que tu l'as mise dans une feuille spécifique.
Ce qu'il faut faire dans vba :
==> Tu cliques sur Insertion, tu choisis un Module.
==> Tu coupes ton code actuel et tu le colles dans Module1
Ta macro devrait maintenant fonctionner sans pb.
Ca y est, j'ai compris ton pb.
Ta macro ne peut pas fonctionner parce que tu l'as mise dans une feuille spécifique.
Ce qu'il faut faire dans vba :
==> Tu cliques sur Insertion, tu choisis un Module.
==> Tu coupes ton code actuel et tu le colles dans Module1
Ta macro devrait maintenant fonctionner sans pb.
Tout d'abord : un grand merci!!!! Ça fonctionne du tonnerre... pour la première ligne ;-)
Un pas de géant!
Par contre pour la deuxième ligne, j'ai le débogeur qui se met en route et surligne "Selection.End(x1Down).Select"...
Merci à toi.
Un pas de géant!
Par contre pour la deuxième ligne, j'ai le débogeur qui se met en route et surligne "Selection.End(x1Down).Select"...
Merci à toi.
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
19 août 2013 à 17:01
19 août 2013 à 17:01
coucou,
remplaces ton code par :
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("Formulaire saisie").Select
Range("B1:B11").Select
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
Sheets("Base de données").Select
If Range("A2").Value = "" Then
Range("A2").Select
Else
i = 2
Do While Cells(i, 1) <> ""
i = i + 1
Loop
ligne_active_base = i - 1
Range("A" & ligne_active_base + 1).Select
End If
'Mémoriser le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("Formulaire saisie").Select
Range("B1:B11").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
remplaces ton code par :
Sub transpose_dans_tableau()
'Atteindre le formulaire et mémoriser les données
Sheets("Formulaire saisie").Select
Range("B1:B11").Select
Selection.Copy
'Test pour déterminer la ligne où coller les infos dans le tableau
Sheets("Base de données").Select
If Range("A2").Value = "" Then
Range("A2").Select
Else
i = 2
Do While Cells(i, 1) <> ""
i = i + 1
Loop
ligne_active_base = i - 1
Range("A" & ligne_active_base + 1).Select
End If
'Mémoriser le n° de la ligne où coller les données
ligne_active_base = ActiveCell.Row
'Collage avec transposition
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'Rendre vierge le formulaire
Sheets("Formulaire saisie").Select
Range("B1:B11").Select
Selection.ClearContents
Range("B1").Select
'retourner dans le tableau
Sheets("Base de données").Select
Range("A1").Select
End Sub
Tu es trop forte! Ca fonctionne parfaitement.
Merci pour tout (dont ta patience!).
Si j'ai d'autres problèmes sur des macros je te recontacterai ;-)
Très bonne journée à toi ; au plaisir.
Merci pour tout (dont ta patience!).
Si j'ai d'autres problèmes sur des macros je te recontacterai ;-)
Très bonne journée à toi ; au plaisir.
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
20 août 2013 à 13:36
20 août 2013 à 13:36
mets le en résolu si ton pb est fini stp